[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/11/20(Mon) 18:51
投稿者名:よしあき
Eメール:
URL :
タイトル:
VB6でシリアルポート通信
VB6でシリアルポート通信を行おうとしています。
バイナリで26バイト(3バイト目が『50』)と22バイト(3バイト目が『51』)のデータをそれぞれ受信したいのですが、comEvReceiveを使って1バイトずつ読みとるようにする方法がよくわかりません。
とりあえず、以下のようなプログラムを組んでみました。

Private Sub Form_Load()
    With MSComm1()
        .CommPort = 1
        .Settings = "19200,N,8,1"
        .PortOpen = True
        .InputLen = 1
        .RThreshold = 1
        .InputMode = comInputModeBinary
    End With

    t = 0
    
End Sub

Private Sub MSComm1_OnComm()

Dim inp() As Byte
Dim strwork(25) As String

    Select Case MSComm1.CommEvent
    Case comEvReceive
            
            inp = MSComm1.Input
          
            strwork(t) = CStr(inp(0))
            
            t = t + 1
            
            If strwork(3) = "50" Then
                If t = 26 Then t = 0
                Do
                    Label2(i).Caption = strwork(i)
                    i = i + 1
                Loop Until i = 25
            ElseIf strwork(3) = "51" Then
                If t = 22 Then t = 0
                Do
                    Label2(i).Caption = strwork(i)
                    i = i + 1
                Loop Until i = 21
            End If
    End Select
End Sub

Label2(0)〜(25)もしくはLabel2(0)〜(21)に受信データを表示させたいのですが、表示されません。
どなたか、ご教示下さいますようお願いいたします。

投稿時間:2006/11/20(Mon) 20:07
投稿者名:よしあき
Eメール:
URL :
タイトル:
Re: VB6でシリアルポート通信
ごめんなさい。
ぼんくらミスでした。
きれいに読みとることができました。
申し訳ございませんでした。