ファイルをひとつにまとめたりする方法

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
メッセージ
作成者
水波形
記事: 106
登録日時: 2009年3月29日(日) 15:45

ファイルをひとつにまとめたりする方法

#1 投稿記事 by 水波形 »

あけましておめでとうございます。
ご無沙汰しております。

今回、以前に『独自のインストーラ的なものを作りたい!』と、
リソースについて調べていましたが、Konisi様の助言で、
exeにファイルをくっつけていくという手段にしました。

しかし、やってみると、ひとつしかファイルをくっつけることが出来ません。
ということは、ZIPなどで圧縮して1つにまとめたものをくっつけるなどの方法しかないのですが、
それだと、『最初からZIPで配布しろや』ということになってしまいます。
(切り離しのコードをいじる実力はない)

なので、適当なファイルにファイルを合成し、それをくっつけるという手段を選び、
いろいろと実験して来ました。

やっとの思いで、合成する側のコードは書けたと思うのですが、
それを元に戻すのがなぜか出来ません。

分かる方がいらっしゃいましたら、添削の方をお願いします。

まとめる処理
とりあえず、FileInfo.txtだけを読み出そうとして失敗したコード
↓個人的ソフト置き場
http://www.software.jpn.org/
↓萌えゲー製作とかしていたい
http://www.holygate.jpn.org/
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市

#2 投稿記事 by konisi »

まだ実行してみてないのですが、読み込むほうだけ見てて怪しいなと思ったところが2点。

コード: 全て選択

'テキストファイルを出力
Dim TextFileSize As Long
TextFileSize=Val(Str$(buf))/1024
free(buf)
の部分、bufはBytePtr型なので、こいつをStr$に渡してもbuf自体が格納しているアドレスをString型にして返すだけです。
MakeStr関数を使ってみてください。

もう1つは、その直前のReadFile関数の第3引数が初期化されていない点。グローバル変数なので今の実装では0で初期化されてる筈。
つまり1バイトも読み込めていません。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
水波形
記事: 106
登録日時: 2009年3月29日(日) 15:45

ご回答ありがとうございます

#3 投稿記事 by 水波形 »

ためしに修正したみたところ、
1Byteも読み込まれなくなってしまったのですが・・・

↓個人的ソフト置き場
http://www.software.jpn.org/
↓萌えゲー製作とかしていたい
http://www.holygate.jpn.org/
カロン

厳しい言い方ですが

#4 投稿記事 by カロン »

まず、ファイルフォーマットを明確にして下さい。
あなたのコードは非常に長いので、読みにくいです。
はっきり言って本人に分からないものなど、読む気もしないというのが本音です。

TextFileSize=Val(buf)/1024
ここのTextFileSizeを適当に変えることでその値だけファイルを読むことはできるので、
ここがおかしいであろうと思われます。