基于VB实现短信息收发功能(6)

来源:网络收集 时间:2025-08-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

图5-5 代码窗口

每个窗体都有各自的代码窗口,打开代码窗口有以下三种方法:

(1) 从工程窗口中选择一个窗体或标准模块,并选择“查看代码”按钮; (2) 从窗体窗口中打开代码窗口,可用鼠标双击一个控件或窗体本身; (3) 从“视图”菜单中选择“代码窗口”命令。 代码窗口主要包括:

(1)“对象”下拉式列表框:显示所选对象的名称。可以单击右边的下拉按钮,来显示此窗体中的对象名。其中“通用”表示与特定对象无关的通用代码,一般在次声明模块级变量或用户编写子定义过程。

(2)“过程”下拉式列表框:列出所有对象对应于“对象”列表框中对象的事件过程名称。在对象列表框选择对象名,在过程列表框中选择事件过程名,即可构成选中对象的事件过程模板,用户可在该摸板内输入代码。

(3)“代码”框:输入程序代码。

(4)“过程查看”按钮:只能显示所选的一个过程。 (5)“全模块查看”按钮:显示模块中全部过程。

5.3 MSCOMM控件

微软的软件系统中.提供了MSComm通讯控件。该控件在windows ystem 目录下,通讯控件是PC机通过串行端口与其它设备实现轻松连接的利器.Visual basic等开发人员都可以使用它通过使用MSComm通讯控件,可简单高效的实现设备之间的通讯,而不必调用低级的API函数,从而使编程效率大大提高.也降低了因编程不当导致系统不稳定。

利用Mscomm控件完成一般的数据通信,使用此控件还是非常方便的,在接收数据方面可通过OnComm事件响应从而用Input属性从此控件的接收缓存区获得数据,在发送数据方面是通过给此控件的Output属性赋值来实现。在发送和接收时

21

通过改变Output和Input的属性的类型来改变接收到的数据:若设置为字符串类型,则按文本方式发送或接收;若设置为字节数据,则按二进制数据格式发送或接收。

MSC0mm控件的主要属性:

1)commPorL:设置并返回通讯端口号,在设计时,value可以设置成从1到16的任何数(缺省值为 1),注意:必须在打开端口之前设置CommPort属性;

2)Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位,设置的格式为“BBBB,P,D,S”,BBBB为波特率,P为奇偶校验,D为数据位数,S为停止位数;

3)PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口.title表示串口打开;

4)Input:从接收缓冲区返回和删除字符; 5)Output:向传输缓冲区写一个字符串;

6)InputMode:设置发送和接收数据的类型,0表示文本的方式.1表示二进制的方式;

7)Rthreshold:设置CommEvent属性为comEvReceive并产生OnComm之前.设置并返回的要接收的字符数,若Rthreshold属性设置为0(缺省值)则不产生OnComm 事件;

8)SThreshold:MSComm 控件设置CommEvent属性为comEvSend.并产生OnComm事件之前.设置并返回传输缓冲区中允许的最小字符数.若设置Sthreshold属性为l,当传输缓冲区完全空时.MSComill控件产生OnComm事件。如果在传输缓冲区中的字符数小于value,CommEvent属性设置为comErSend.并产生0nComm 事件:

9)InputLen、Input:收缓和发送缓冲区字符数或字节数:

10)comEvent:该属性列出了控件触发事件的类型和具体的事件活错误MSCOMM只有一个OnComm事件.只要eomEvent的值一改变.就会触发该事件.这表示发生了一个通信错误或事件。 MSC0mm控件的主要事件:

OnComm事件:当CommEvent属性的值发生变化时,就触发此事件,标志发生了一个通信事件或错误。如果CommEvent属性值发生了变化,而通信事件又未发生,就必然出现错误。CommEvent属性中含有触发OnComm事件的真正错误或事件的标识代码。

MSComm控件进行串行通信的一般步骤为:

1)设置通信对象、通信端口号及其他属性; 2)设定通信协议;

3)打开通信端口,进行数据的传送;

22

4)关闭通信端口; MSComm控件通信方式的选择:

MSComm控件有两种处理通信的方式,即事件驱动和查询方式。事件驱动方式是处理串行通信的一种有效的方法,它可以利用OnComm事件捕获并处理通信中发生的事件或错误,实时性较强。而查询方式是在程序通过查询CommEvent属性的值来判断通信过程中的事件或错误.这种方式适合于应用程序较小、实时性要求不高的系统中 。

利用MSCOmm控件发送数据:

MSComm控件提供了一个Output属性.它能简化对数据的发送.Output属性可以往发送缓冲区中写入一串数据,它在设计阶段是无效的.在运行阶段也只能写入。其引用方法如下:

MSComm.Output[=value]

其中.Value参数表示一串要写入到发送缓冲区中的字符。Output属性可以发送文本数据,也可以发送二进制数据。如果要发送文本数据.Value就必须是含有字符串的Variant数据;如果要发送二进制数据,Value就必须是含有Byte数组的Variant数据。

下面的示例程序是利用MSComm控件的Output属性发送数据:

Private Sub RichTextBox— KeyPress(KeyAscii As Integer) ’将键盘键人的字符传给RichTextBox控件和MSComm1控件 Dim OutS as Variant MsComm 1.CommPort=1 MsComm 1.PortOpen=True OutS:Ch KevAscii1 MsComm 1.Output=OutS End Sub

利用MSComm控件接收数据:

利用MSComm控件的Input属性可以接收数据。

Input属性从接收缓冲区中返回一串数据,它在设计阶段是无效的,在运行阶段也只能读。Input属性的返回类型为Variant。

InputLen属性值决定着Input属性读取的字符个数。将InputLen设为0,意味着利用Input属性读出接收缓冲区中的所有内容。

InputMode属性值决定着Input属性接收的数据类型。如果InputMode设为ComInputModeText,就可利用Input属性返回文本数据;如果InputMode设为ComIn.

putModeBinary,则返回Byte数组中的二进制数据。 下面的示例程序是利用MSComm控件的Intput属性接收数据:

23

Private Sub Commandl— Click0

’用户单击Commandl按钮后读取输入缓冲区中的内容 Dim InS as String MsComm 1.InputLen=O

If MsComm 1.InBuferCount Then InS=MsComm 1.Input End If MsgBox InS

MsComm 1.PortOpen=False End Sub 开发步骤: 1、创建新的工程

① 启动Visual Basic 6.0

②在“文件”菜单中,单击“新建工程”,选择“标准.exe”. 单击确定 2、加人MSComm控件

① 在“工程”菜单中单击“部件”.显示“部件”对话框 ② 选定“Microsoft Comm Control 6.O”控件名称左边的复选框 ③ 单击”确定”关闭“部件”对话框,MSComm控件将出现在工具框中 ④ 将MSComm控件添加到窗体上 添加MSComm控件如图5-6所示。

图5-6 添加MSComm控件图

3、属性设置

下面通过一个实例具体说明。实例用于接收和发送不定长数据包,该仪器的通信协议如下。链路层:8位数据位、l位停止位、无奇偶校验、19200波特率CommPotr 设置并返回通讯端口号。l~16,设置:1为COM1口。

24

InBufferSize 设置并返回接收缓冲区的大小,以字节数为单位。设置:16 500。

InputMode 设置并返回数据输入方式。设置:comlnputModeBinary输入为二进制数据。

OutBufferSize 设置并返回输出缓冲区的大小,以字节数为单位。设置:512。 Rthreshold 设置并返回要接收的字符数。当接收缓冲区中的字符数大于等于该值时,将产生

OnComm事件。设置:1O

Setting 以字符串形式设置或返回波特率、奇偶校验、数据位和停止位。设置:19 200,n,8,1 4、编写代码

在窗体中加入一个组合框控件,名称为Comboport,用于选择设置通讯端口。加入一个命令按钮,用于控制通讯。加入一个通讯控件,名称为MSComml。加入一个文本框控件,名称为Textl,用于显示接收的数据。

实现的界面如图5-7所示。

图5-7 短信息收发界面

25

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库基于VB实现短信息收发功能(6)在线全文阅读。

基于VB实现短信息收发功能(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/501445.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219