1.定时器控件Timer
在可视化应用程序中常常要用到VB中的定时器控件Timer。定时器控件Timer具有时间控制的功能,如每隔一定时间执行一段代码。Timer在工具箱面板上,图标显示为,鼠标选中后双击左键即可将定时器控件Timer移到工程界面的设计区,在窗体中拖出一个矩形就可以创建一个Timer控件,如图7-7所示。
当一个Timer经过预定的时间间隔,将激发计时器的Timer事件。使用Timer事件可以完成许多实用功能,如显示系统时钟、制作动画等。Timer控件用于背景进程中,运行时它是不可见的。定时器的重要属性有Enabled属性和Interval属性。
图7-7 创建Timer控件
Enabled属性值用来确定定时控件是否能够对用户产生的事件作出反应。它包括两个选项:Ture(默认值)表示定时器开始工作,使计时有效;False表示定时器停止工作,即停止计时。
Interval属性以毫秒为计时单位来指定Timer事件之间的间隔。Interval属性可设置定时器计时初值,范围为1~65535,定时器从该值开始递减计时直到0为止,引起Timer事件。如每1s产生一个Timer事件,那么Intrval属性值应该设置为1000。Interval属性为0(默认值)时,Timer控件无效。
MSComm的功能主要是让计算机通过串行端口对外部设备发送和接收数据,为可视化应用程序提供串行通信功能。Mscomm控件具有两种处理方式:一种是事件驱动方式,由Mscomm控件的OnComm事件捕获并处理通信错误及事件;另一种为查询方式,通过检查CommEvent属性的值来判断事件和错误。MSCcomm控件属性很多,在这里我们只介绍常用的几种。
(1)Setting属性
设置并返回波特率、奇偶校验、数据位、停止位参数。如:MSComm1.Setting=″9600,N,8,1″波特率9600bit/s,无校验,8位数据,1位停止位。
(2)CommPort属性
设置并返回通信端口号,属性值为1~16,整型。如MSComm1.CommPort=1使用Com1端口。
(3)PortOpen属性
MSComm.PortOpen=true′为打开端口,MSComm.PortOpen=false′为关闭端口并清除接收和传输缓冲区。
(4)Input属性
返回并删除接收缓冲区中的数据流。该属性在设计时无效,在运行时为只读。(www.xing528.com)
(5)Output属性
向传输缓冲区写数据流。该属性在设计时无效,在运行时为只读。
(6)RThreshold属性
在MSComm控件设置CommEvent属性为comEReceive,并在产生OnComm之前,设置并返回要接收的字符数。
(7)SThreshold属性
在MSComm控件设置CommEvent属性为comEvSend,并在产生OnComm事件之前,设置并返回传输缓冲区中允许的最小字符数。
Mscomm控件主要调用API函数实现通信功能,而API函数是由Comm.drv解释并传给设备驱动程序执行。VB用户只需知道Mscomm控件的属性和事件的用法即可以实现串口的操作。采用Mscomm控件实现串口通信时,首先要添加Mscomm控件到窗体中,该控件一般不在通用的工具箱窗口中,而是需通过菜单项“工程”→“部件”进入选择窗口,在控件tab页中选中Microsoft Comm Control 6.0,此时工具箱窗口中将出现Mscomm图标。
3.上位机常用的函数
(1)Len函数
Len(x)函数用于计算字符串x的长度,如I=P=Len(X),空字符串长度为0。空格符也算一个字符,一个汉字虽然占用2B,但也算一个字符。Len函数语法有Len(text)或Len(string|varname),其中Text为要查找其长度的文本,string为字符串。如果string包含Null,会返回Null。Varname为任何有效的变量名称,如果varname包含Null,会返回Null。如果varname是Variant,Len会将其视为String,并且总是返回其包含的字符数,如x=″单片机技术″,i=len(x),返回值为5。
(2)val函数
Val函数只返回字符串中包含的数字,语法格式为i=val(string),其中string参数为字符串表达式,Val函数在字符串表达式中寻找到非数字时停止,一部分符号和字符不能被识别,但函数可以识别进位制符号&O(八进制)和&H(十六进制)。如i=val(″2+3+4+5″),返回值为2。
(3)Mid函数
利用Mid函数从字符串中返回指定数目的字符,语法为MID(text,start_num,num_chars)。其中text为字符串表达式,从中返回字符。如果text包含Null,则返回Null;start_num为text中被提取的字符部分的开始位置。如果start超过了text中字符的数目,Mid将返回零长度字符串(″″);num_chars要返回的字符数。如果省略或num_chars超过或等于文本的字符数(包括start处的字符),将返回字符串中从start_num到字符串结束的所有字符。
这里只介绍了采用VB6.0设计上位机的一般过程,VB6.0功能很多,具体应用可参考VB的相关的教材。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。