タイトル : Re^2: VB2005でバイナリデータをシリアル通信 投稿日 : 2009/12/17(Thu) 02:26 投稿者 : ロージー
何度もすみません。 > bytOut配列にそのまま値を代入して送信すればOKかと・・・ bytOutがByte型なのでString型は入れれないということでエラーが返ってきます。。 そして、今さらなのですが、現在書いているプログラムには元のコード(私が作ったものではないです)があります。 VB6のコードなのですが、これをVB2005に修正したいと考えています。 ようやく探しあてて変換(アップグレード?)前のコードを表示できるようになったのでこちらを示します。 色々と見てきましたが、ChrB$の箇所がどうも上手く書き換えられない状況です。 他も間違っている箇所があるかもしれませんので、合わせてご教示願いたいです。 '******元のコード(VB6)****** Sub SendComPort3WFForward(Frequency As Double) '変数宣言 Dim CH(0 To 99) As String '10進数を16進数に変換する配列 Dim m As Byte, n As Byte 'カウンタ Dim k As Integer 'カウンタ Dim fre As Variant '周波数を入れる変数 Dim DA As Variant 'データを入れる変数 Dim bytOut() As Byte '無線機に送信するデータを入れる配列 '10進数を16進数に変換する配列CH()を設定する. For m = &H0 To &H9 For n = &H0 To &H9 CH(&HA * m + n) = ChrB$(&H10 * m + n) Next n Next m fre = Right$("00000" + Mid$(Str$(CLng(Frequency * 1000000#)), 2), 10) For k = 1 To 10 Step 2 DA = CH(Val(Mid$(fre, k, 2))) + DA Next k bytOut() = ChrB$(&HFE) + ChrB$(&HFE) + ChrB$(&H60) + ChrB$(&HE0) _ + ChrB$(&H0) + DA + ChrB$(&HFD) '←ここが問題かと思います。 msSerialRadio.Output = bytOut End Sub よろしくお願いいたします。 |