如何实现所有的数据接收完全了再分离开来处理?(急,在线等)

yydpj 2004-09-23 09:04:00
目前碰到这样的问题:
使用mscomm控件接收和发送数据.
在程序启动后要接收一大串数据(上万个字节吧,一个包一个包的接收)如果只接收不处理,数据能接收完全,同时也不出错.但若接收一包数据就处理处理完再接收就可能出现数据接收有误(有遗漏).现在要如何实现所有数据接收完了,再将数据一包一包的分离开来处理.
我自己的想法是,将接收的数据通过list.additem " " ,将数据先放在list中.可是要怎么样才能等接收完之后再处理呢?用什么事件实现.(当然接收的数据有数据开始接收的标志和接收结束的标志)
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlefishli 2004-09-23
  • 打赏
  • 举报
回复
可以加一个timer控件,然后把mscomm的rthread(是这么拼写的吗?)的属性设为1,就是说收到1个字节就触发一次oncomm事件,然后把所有收到的数据存到一个collection对象里(这个比存到list里好多了,个人感觉)。每次oncomm时间就把timer的记时器重置一下,设定某个时间长度内如果没有数据发送过来就确认数据发送完毕。然后当触发timer事件的时候开始处理搜集到的数据,并把timer停止。
caojinrong 2004-09-23
  • 打赏
  • 举报
回复
不是很难处理的啊。一包一包地收

当接收到起始字时,建立一个文件
当接收到非起始也非结束字时,在文件里写入一行
当接收到结束字时,开始处理。

list.additem 支持非ASCII字符吗?还是用我的方法比较好一点。
efengxu 2004-09-23
  • 打赏
  • 举报
回复
顶,已经告诉你了

分拿来,哈哈
tztz520 2004-09-23
  • 打赏
  • 举报
回复
发完那上万的字符后,发一个结束的标记过来.计算机收到后才处理你的东西

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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