バイト型配列→文字列

解決


すえ太郎  2003-12-24 15:31:54  No: 110915  IP: [192.*.*.*]

MSCommで受信したデータ(Hexデータ)を下記ソースで
テキストにそのまま(Hex表示)表示したのですがうまくいきません。
何か助言を頂けませんか?
Dim Re_Txt as String
Dim InData_Msg_Buff() as Byte

For i = 0 To UBound(InData_Msg_Buff()) Step 1
      Re_Txt = Re_Txt & Format(Hex$((InData_Msg_Buff(i))), "00")
Next
InData_Msg_Buff(0)=0A,InData_Msg_Buff(0)=0A の時、
Re_Txt=AAになってしまいます。0A0Aが欲しいのですが。

編集 削除
魔界の仮面弁士  2003-12-24 16:12:42  No: 110916  IP: [192.*.*.*]

> Format(Hex$((InData_Msg_Buff(i))), "00")

Format関数の第2引数に、"00" を指定していますよね。これは『数値指定書式』です。
つまり、第1引数は数値(または数値変換可能な値)である必要があります。

しかし、ここで渡しているのは数値ではなく、「文字列」ですから、
書式化は正しく行われません。


> 0A0Aが欲しいのですが
たとえば、
   X = Right("0" & Hex(値), 2)
などとして、自分で 0 を補ってください。

編集 削除
すえ太郎  2003-12-24 16:35:59  No: 110917  IP: [192.*.*.*]

早速のお返事ありがとうございます。
これから試してみます。

編集 削除
すえ太郎  2003-12-24 17:39:25  No: 110918  IP: [192.*.*.*]

魔界の仮面弁士さん  の指摘どうりでした。
ありがとうございました。

編集 削除