VB5:ファイル出力に関する初心質問
■ このスレッドは過去ログ倉庫に格納されています
00011
NGNGわからないことがでてきました。アドバイスいただければ幸いです。
長文なので多分全文表示できてないでしょう。ご迷惑をお掛けし
て申し訳ないです。
コードはこんな感じです
------------------------------------------------------------
Dim head As String ;;(general_declarationsの部分で)
Dim bnry As String
:
:
fvol = FileLen( pf1 & File1.FileName )
head = Left(bnry@` 512)
bnry = Right(bnry@` fvol - 512)
:
:
Debug.Print "hは" & Len(head)
Debug.Print "cは" & Len(bnry)
Open (pf2 & hd_name) For Binary Access Write As #1
Put #1@` 1@` head
Close #1
Open (pf3 & ct_name) For Binary Access Write As #1
Put #1@` 1@` bnry
Close #1
Debug.Print "もう一度cは" & Len(bnry)
-------------------------------------------------------------
file1.filename で指定されるファイルは 例えば262656(= 262144 + 512)
バイトのものにします。イミディエイトウィンドウには
512
262144
262144
が表示されます。そしてファイル作成する段になると、hd_nameで指定される
ファイルは512バイトで問題ないです。しかしなぜかct_name で指定されるも
のは 294912バイト(32768バイト多い!) なんです。
さらに別のファイルで試してみました。同じく262656バイトですが、これが
303104バイトになってしまう。わけわかりません。
どちらも余剰分はすべて 00hで埋まってました。どういうことが起きています
でしょうか。
0002名無しさん@お腹いっぱい。
NGNG長くても省略されずに表示されちゃうんだな。
1にソースを貼り付けるな、ってのは、そういうことなんだよ。
00031
NGNGちと寝ぼけてました。すいません。いずれにせよ、相当ファイル
サイズが違っていますので。
こんなソースで別に試してみました。
---------------------------------------------------------------------------
Private Sub File_S_DblClick()
Dim bnry As String
fp = File_S.Path
If Right(fp@` 1) <> "\" Then fp = fp & "\"
fvol = FileLen(fp & File_S.filename)
bnry = String$(fvol@` 0)
Open (fp & File_S.filename) For Binary Access Read As #1
Get #1@` 1@` bnry
Close #1
Open ("c:\windows\デスクトップ\zikken\" & File_S.filename) For Binary Access Write As #1
Put #1@` 1@` bnry
Close #1
End Sub
----------------------------------------------------------------------------
ことごとく違うサイズで作成されました。参りました。
00041
NGNGどうもです。
■ このスレッドは過去ログ倉庫に格納されています