我通过 MSComm控件做一个接收GPS的小程序,出现一点接收问题!

goodb515344oy 2008-11-12 05:09:06
我用 MSComm控件接收GPS传过来的信息,
用如下代码接收
Private Sub MSComm1_OnComm()
Dim str1 As String
MSComm1.InputLen = 0
str1 = MSComm1.Input
Debug.Print "接收1 - " + str1
txtBox1.Text = str1
End Sub
但是在txtBxo1上显示的数据是断成两节的,而且不会连续接收,接收两行就把旧的数据刷掉,
要如何修改代码,
大侠们有做过类似的给些建议或给点代码看看哈
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
全速前行 2008-11-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yanlongwuhui 的回复:]
引用楼主 goodb515344oy 的帖子:
但是在txtBxo1上显示的数据是断成两节的,而且不会连续接收,接收两行就把旧的数据刷掉,
要如何修改代码,

不明白“断成两节的”是什么概念。
只要你设置好rthreshold的属性,每接收指定数量的字节,就会触发OnComm事件。txtBox1.Text =txtBox1.Text & str1 才能把你接收的都显示在TEXTBOX控件中
[/Quote]

对啊,
还有我想知道你是用什么硬件接收gps的,
呵呵
zdingyun 2008-11-17
  • 打赏
  • 举报
回复

Option Explicit
Dim str1 As String

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

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case 2
MSComm1.InputLen = 0
str1 = str1 & MSComm1.Input
Debug.Print "接收1 - " + str1
txtBox1.Text = str1
End Select
End Sub
yanlongwuhui 2008-11-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 goodb515344oy 的帖子:]
但是在txtBxo1上显示的数据是断成两节的,而且不会连续接收,接收两行就把旧的数据刷掉,
要如何修改代码,
[/Quote]
不明白“断成两节的”是什么概念。
只要你设置好rthreshold的属性,每接收指定数量的字节,就会触发OnComm事件。txtBox1.Text =txtBox1.Text & str1 才能把你接收的都显示在TEXTBOX控件中
openext 2008-11-13
  • 打赏
  • 举报
回复
Text1.SelStart = Len(Text1.Text)
Text1.SelText = vbNewLine + shad ‘shad为接收内容
实现的结果是每次接收的最新内容在text下显示,同时光标下移。
自己参考下吧。希望对你有帮助。
好像vb.net下用的是serialport?怎么还用mscomm?
goodb515344oy 2008-11-13
  • 打赏
  • 举报
回复
怎么没人用 MSComm的么,自己顶一下!

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧