テキストボックスに入力した16進数の値を,そのままMSCommで送信するには?

解決


VB試行錯誤  2004-06-06 04:51:42  No: 113749  IP: [192.*.*.*]

VB6.0ですがテキストボックスに16進数の値(例えば"A"や"F1")を入力し、その値をそのままMSCommで送信したいのですが、できず困っております。

現状ですと、テキストボックスに"A"を入れて送信すると0x41のアスキーコードが出力されてしまいます。テキストボックスに16進数を直接入れて、そのまま出力したいのですが、変換されて出力されてしまうのです。

テキストボックスに入力した16進数の値を、そのまま16進数としてMSCommで出力するにはどのような方法があるのでしょうか。お願いします。

編集 削除
魔界の仮面弁士  2004-06-06 05:58:54  No: 113750  IP: [192.*.*.*]

X = CByte("&HA")
のように、先頭に&Hをつけて変換すれば、数値になります。
これを繰り返してバイト配列を作成し、それを送信すれば良いかと。

編集 削除
VB試行錯誤  2004-06-06 16:35:09  No: 113751  IP: [192.*.*.*]

魔界の仮面弁士  様

以下のようにすることで、できました。
たいへんありがとうございました。

Dim SendHex(0) As Byte
    SendHex(0) = CByte("&H" & txtUserSent.Text)
    MSComm1.Output = SendHex

編集 削除