MSCOMM的ONCOMM事件,如何判断当前的数据已经接收完成???

zbc zbc 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大家来救一下急,我用mscomm控件,写的接收代码如下:
void __fastcall TForm1::MSComm1Comm(TObject *Sender)
{
AnsiString str; //声明一个AnsiString类型的变量
OleVariant s; //声明一个用于接收数据的OleVariant变量。
if(MSComm1->CommEvent==comEvReceive)// 接收缓冲区中是否收到Rthreshold个字符。
{
if(MSComm1->InBufferCount)// 是否有字符驻留在接收缓冲区等待被取出
{
s=MSComm1->Input;//接收数据
str=s.AsType(varString); //把接收到的OleVariant变量转换成AnsiString类型
Edit1->Text = str;

//下面的程序用于把数据保存到数据库中,只存交班时的数据
}
}
}
每次保存到数据库中后,都不能正常的保存完整数据。该如何做,才能保证接收完成后,才去保存数据到数据库中啊?
...全文

相关推荐

VFP利用MsComm32控件接收串口(COM)数据示列

VFP利用MsComm32控件接收串口(COM)数据示列

十豆三

突破MsComm控件RThreshold限制,全部数据统统收!(1)

全局参数:Private Rv_data() As Byte           存放接收的数据Private tmpRV() As Byte              存放暂存的数据Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)———————————————————————————

xwchen

VC控件MSComm编写串口通信程序(转)

在众多网友的支持下,串口调试助手从2001年5月21日发布至今,短短一个月,在全国各地累计下载量近5000人次,在近200多个电子邮件中,20多人提供了使用测试意见,更有50多位朋友提出要串口调试助手的源代码,为了答谢谢朋友们的支持,公开推出我最初用VC控件MSComm编写串口通

dadaadao

MScomm控件使用详解(整理了好久)

MSComm控件使用详解 1 §1.1 MSComm控件两种处理通讯的方式 1 §1.1.1 事件驱动方式 2 §1.1.2 查询方式  2 §1.2 MSComm控件的常用属性 2 §1.3 MSComm控件属性详解 2 §1.3.1 CommPort属性 2 §1.3.2 PortOpen属性 3 §1.3.3 RThreshold 属性 3 §1.3.3 CTSHolding 属性 4 §1.3.4 SThreshold 属性 4 §1.3.5 Handshake 常数 4 §1.3.6 OnComm 常数 5 §1.3.7 Error 常数 5 §1.3.8 InputMode 常数 5 §1.3.9 CDHolding属性 5 §1.3.10 DSRHolding 属性 6 §1.3.11 Settings 属性 6 §1.3.12 InputLen 属性 7 §1.3.12 Output 属性 8 §1.3.13 EOFEnable 属性 9 §1.3.14 错误消息(MS Comm 控件) 9 §1.4 MSComm控件进行串行通信的一般步骤 10 §1.5 实例 10 §1.5.1 控件的初始化 11 §1.5.2 数据的发送和接收 11

u011060617

VBA下基于MSCOMM串口通讯实例.rar

在VBA下的MSCOMM串口通讯实现,可以发送VISA指令,如"*IDN?"可以直接查询设备信息,这个时之前在学习时整理弄的 !给有需要的人!

ynjirufeng
评论 4
收藏 已收藏
分享
返回顶部
zbc
C++ Builder 13,871 成员 102,696 内容