VB的mscomm控件oncomm事件中怎么用收到的数据不同值作为条件写条件语句

 我来答
爱栀竹的人
2011-12-12 · TA获得超过1352个赞
知道大有可为答主
回答量:1743
采纳率:0%
帮助的人:996万
展开全部
'假设控件名称为com
Private Sub com_OnComEvent(ByVal comEvent As Integer, ByVal eError As Integer)
Dim ss As String
Dim ff As String
Select Case comEvent
Case 0:
Case 1: ‘ 收到数据,处理数据
ss = com.Read
While (Trim(ss) <> "")
ff = ff + ss
ss = com.Read
Wend
Debug.Print ff '这个ff就是收到的数据,你想怎么判断使用就怎么使用。
End Select

End Sub
追问
如果想要将接收的数据(字符型 )存入一个字符变量中,需要将这个赋值语句写到 ON_COMM事件中么?
比如 dim strbuff as string
strbuff=MSComm1.Input '这句话必须要写到ON_COMM事件中么
追答
我上面的代码中ff就是接收到的数据。
匿名用户
2011-12-12
展开全部
Option Explicit
Dim sendvar(0) As Byte
Dim i As Integer
Dim sum As Integer
Private Sub Command1_Click()
For i = 0 To 15
sendvar(0) = i
MSComm1.Output = sendvar
Next
End Sub

Private Sub Command2_Click()
MSComm1.Output = " df s"
End Sub

Private Sub Form_Load()
MSComm1.PortOpen = True
MSComm1.SThreshold = 1
End Sub

Private Sub MSComm1_OnComm()
Dim bytInput() As Byte
Dim intInputLen As Integer
Select Case MSComm1.CommEvent
Case comEvSend
sum = sum + 1 '统计comEvSend次数
Label1.Caption = sum
'MsgBox "afadfaf", vbOKOnly, ""
End Select
End Sub
追问
如果想要将接收的数据(字符型 )存入一个字符变量中,需要将这个赋值语句写到 ON_COMM事件中么?
比如 dim strbuff as string
strbuff=MSComm1.Input '这句话必须要写到ON_COMM事件中么
追答
一般 先 用 variant 变量接收,然后再转换

一开始 就用 string 赋值 可能会 丢失非字符数据

推荐看书
Visual_Basic与_RS-232_串行通信控制
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式