- - PR -
VB6でMSCommの受信データをByte配列に入れるには?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-07-19 16:36
何度もお世話になります。
バイナリーデータをよく扱う人にとっては、容易な事かもしれませんが ご教示の程宜しくお願い致します。 現在、シリアル通信で、受信データをByte配列に入れて処理をしようとしています。 Dim WORK_STR As String Dim WORK_Byte() As Byte WORK_STR = Form1.MSComm1.Input WORK_Byte = WORK_STR →@ : : としています。 受信したデータは、Hexで 06 02 00 02 00 66 00 9C 4E なのですが、 @の処理で、Byte配列に入れた時 06 00 02 00 02 00 00 00 66 00 00 00 9C 00 4E 00 ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ の様に1byteを2Byte文字として処理してしまいます。 とにかく、なんとかしたい! と、思い、下記の様にしてみてもだめでした・・・・。onz Dim WORK_STR As String Dim WORK_Byte() As Byte Dim WORK_int As Integer For cnt = 0 To Len(WORK_STR) - 1 Step 1 Work_int = AscB(MidB(WORK_STR, cnt + 1, 1)) Work_int = LenB(WORK_STR) WORK_Byte(cnt) = Work_int Next cnt そのままの形でByte配列に入れたいのですが、どのように 処理したらよいのでしょうか?? 誠に申し訳御座いませんがご教示の程宜しくお願い致します。 |
|
投稿日時: 2007-07-19 16:55
2バイト文字になっている…というか、StringがUnicode(UTF-16)で格納されてるからでは?
StrConvすることになるかと。 |
|
投稿日時: 2007-07-19 19:45
返事が遅れてすみません。
結果、MSCommの受信設定があり、そこをバイナリーモードとする事で解決しました。 MIOさん回答有難う御座いました。 |
1