单片机向VB做的终端发送短信,请问这样实现接收到的短信循环显示,以前必须输入信息编号,再更新消息,最后在显示,现在想让接收到的短信按先后顺序滚动显示或者全部显示在一个文本框中,请问该如何实现?下面是部分代码:
Private Sub MSComm1_OnComm()
    Dim inbuffer As Variant
      Select Case MSComm1.CommEvent
      Case comEvReceive
       inbuffer = MSComm1.Input
       str = str + inbuffer
       txtstatus.Text = str
      End Select
End Sub
////////////////////////////////////////////////////////////////////////
Private Sub Command4_Click()
If Not MSComm1.PortOpen Then MSComm1.PortOpen = True
NUM = Text2.Text
str = ""
MSComm1.Output = "AT+CMGR=" + NUM + Chr$(13)
flag = True '读取消息标志
End Sub
/////////////////////////////////////////////////////////////////////
Private Sub Command11_Click()
If Not MSComm1.PortOpen Then MSComm1.PortOpen = True
NUM = Text2.Text
str = ""
MSComm1.Output = "AT+CMGR=" + NUM + Chr$(13)
flag = True '读取消息标志
If flag = False Then Exit Sub
Dim i As Integer, prenum As Integer
Dim str1 As String, str2 As String, str3 As String, str4 As String
i = 0: prenum = 0
str1 = ""                            '保存消息总编号
If Len(str) < 70 Then Exit Sub
Do
str1 = str1 + Mid(str, 13 + i, 1)
i = i + 1
Loop Until Mid(str, 13 + i, 2) = vbCrLfi = Len(str1) 'i为155可变长度
If Mid(str, 41, 2) = "68" Then prenum = 2
str2 = Mid(str, 39 + prenum + i, 12)
str2 = simnormalize(str2)     '对方SIM卡号
str3 = Mid(str, 55 + prenum + i, 14)
str3 = timenormalize(str3) '时间邮戳
str4 = Mid(str, 71 + prenum + i, 600)
str4 = tochar(str4) '消息内容
Text1.Text = "来自:" + str2 + vbCrLf + "时间:" + str3 + vbCrLf + "内容:" + str4 + vbCrLfsmrs.MoveLast '找到消息记录的上一个记录
i = smrs.Fields("信息编号")
devrs.Seek "=", str2
If devrs.NoMatch Then
MsgBox "发送者非远程设备,已经将此信息删除!", 0, "提示信息"
MSComm1.Output = "AT+CMGD=" + NUM + Chr$(13) '及时删除新的短消息!
Exit Sub
End Ifsmrs.AddNew
smrs.Fields("信息编号") = i + 1
smrs.Fields("发送设备") = str2
smrs.Fields("设备编号") = devrs.Fields("编号")
smrs.Fields("设备备注") = devrs.Fields("设备备注")
smrs.Fields("发送时间") = str3
smrs.Fields("信息内容") = str4
smrs.Update
smrs.MoveLast
MSComm1.Output = "AT+CMGD=" + NUM + Chr$(13) '及时删除新的短消息!
flag = False
str = ""
End Sub