ab.com コミュニティ
https://www.activebasic.com/forum/

ファイルをひとつにまとめたりする方法
https://www.activebasic.com/forum/viewtopic.php?t=2610
ページ 11

作成者:  水波形 [ 2010年1月02日(土) 23:52 ]
記事の件名:  ファイルをひとつにまとめたりする方法

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

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

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

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

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

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

まとめる処理
とりあえず、FileInfo.txtだけを読み出そうとして失敗したコード

作成者:  konisi [ 2010年1月03日(日) 16:48 ]
記事の件名: 

まだ実行してみてないのですが、読み込むほうだけ見てて怪しいなと思ったところが2点。
コード:
'テキストファイルを出力
Dim TextFileSize As Long
TextFileSize=Val(Str$(buf))/1024
free(buf)
の部分、bufはBytePtr型なので、こいつをStr$に渡してもbuf自体が格納しているアドレスをString型にして返すだけです。
MakeStr関数を使ってみてください。

もう1つは、その直前のReadFile関数の第3引数が初期化されていない点。グローバル変数なので今の実装では0で初期化されてる筈。
つまり1バイトも読み込めていません。

作成者:  水波形 [ 2010年1月13日(水) 22:16 ]
記事の件名:  ご回答ありがとうございます

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


作成者:  カロン [ 2010年1月13日(水) 23:51 ]
記事の件名:  厳しい言い方ですが

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

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

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/