「覚え間違い」を教えてください!

お世話になります。VB6.0を使用しています。
以下のようにバイト型buf配列の各要素を、2桁の16進に変換してからファイルに入力しようとしています。

**プログラムここから****
Dim buf() As Byte



For i = 0 To 65535
strDenBun = strDenBun & Right$("00" & Hex(CInt(buf(i))), 2)
Next i
Open "test.txt" For Append As #intFileNumber
With typLogInfos
Print #intFileNumber, strDenBun
End With
Close #intFileNumber
**プログラムここまで****

しかし、この処理は約1分ほどかかってしまいます。
16進に変換する個所で時間がかかっているようです。
できれば1秒くらいで書き込みたいのですが、何か良い方法はないでしょうか?

バイナリモードでファイルに書き込めば一瞬で終わりますが、なんとか16進文字列でファイルに書き込みたいのです。

A 回答 (1件)

>strDenBun = strDenBun &



多量の文字連結に時間がかかっているのでしょう

For i = 0 To 65535
Print #intFileNumber, Right$("00" & Hex(CInt(buf(i))), 2);
Next i

この回答への補足

すみません。「;」が重要なのですね。付け忘れてました。試してみたところ、ちゃんと改行なしでファイルに出力されました。ありがとうございました。ものすごく助かりましたm(_ _)m

補足日時:2004/05/27 20:18
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。劇的に速くなりました。びっくりです。
ですが、
**ファイルの中**
00
01
00
****
のように改行コードが入った状態でファイルに書き込まれました。改行コードがないように書き込むにはどうしたら良いでしょうか?
時間がありましたらお教えくださいm(_ _)m

お礼日時:2004/05/27 20:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報