程序。例如,一个基于电话网用来检索信息
资料的小型服务器的后台软
件的设计应用就是一个很好的例子。MSCOMM.VBX中提供了27个关于通信控件方面的属性,以
下列出最重要的几个:
CommPort设置和返回通信口的数目
Settings设置和返回以字符串形式给出的数据通信格式:波特率,校验,数据位和停止
位
PortOpen设置和返回通信口的状态(包括打开和关闭一个通信口)
Input读串行数据接收缓冲器
Output发送一个串
在MSCOMM.VBX中,有两个与Input和Output性质相等同的函数;
(1) 输入函数,从串行通信接收缓冲器中读取字符串,句型如下:
Comlnput(By Val hWnd As Integer, lpData As Any,By Val cbData As Integer) A
s Integer
@@T8S14200.GIF;图1@@
返回值:本次读操作实际读取的字符数
(2) 输出函数,向通信口发送一个字符串,句型如下:ComOutput(By Val hWnd As Inte
ger, lpData As Any,By Val cbData As Integer) As integer
@@T8S14201.GIF;图2@@
返回值:本次写操作实际发送的字符数
二、事件驱动和
查询方式下的两种通信软件开发
模板 这两种方式分别对应我们通常使用汇编或C/C++来写通信
程序中的中断和
查询方法。
(1) 事件驱动
下例是一个使用事件驱动方式设计通信
程序的
模板,我们只需根据自己的实际情况来选
择在下列的Case语句中插入相应的代码即可。
Sub Comm_OnComm()
Select Case Commi.CommEvent''i=1,2
'' 错误部分
Case MSCOMM-ER_BREAK''插入处理BREAK代码
Case MSCOMM-ER_CDTO''插入处理CD(RLSD)超时代码
Case MSCOMM-ER_CTSTO''插入处理CTS超时代码
Case MSCOMM-ER_DSRTO''插入处理DSR超时代码
Case MSCOMM-ER_FRAME''插入处理帧错误代码
Case MSCOMM-ER_OVERRUN''插入处理数据丢失代码
Case MSCOMM-ER_RXOVER''插入处理接收缓冲器溢出代码
Case MSCOMM-ER_RXPARITY''插入处理校验错误代码
Case MSCOMM-ER_TXFULL''插入处理发送缓冲器满代码
''事件部分
Case MSCOMM-EV_CD''插入处理CD信号改变代码
Case MSCOMM-EV_CTS''插入处理CTS信号改变代码
Case MSCOMM-EV_DSR''插入处理DST信号改变代码
Case MSCOMM-EV_EOF''插入处理收到一个文本文件结束字(26)代码
Case MSCOMM-EV_RING''插入处理检测到一个振铃信号代码
Case MSCOMM-EV_RECEIVE''插入接收到设定的字符数时产生该事件代码
Case MSCOMM-EV_SEND''插