background image

  For i = 1 to n
  t = Asc (Mid ( Inbuff ,i ,1) ) or &HFF
  print f
  Next i
 End Select
End Sub

Sub Comm2 —OnComm()
 Select Case Comm2. CommEvent
  Case MSCOMM—EV—SEND
  Print time
 End Select
End Sub

Sub Timer1—Timer ()
 Comm2. output = Second (Now)
End sub

二、通过调用 API 函数实现通信
以上说明了用 VB 提供的控件实现通信的方法,只要理解了 VB 控件的机制就很容易完成
对串口的操作,但可移植性差。但 VB 可以很容易调用 API 函数实现通信。
1. VB 对 API 的调用
VB 使用动态链接库 DLL(Dynamic Link Libraries) 的能力,大大扩展了其功能 。
WINDOWS 本身提供了 API 函数包括三大动态链接库: KERNEL 库、GDI 库、USER 库,通
过 VB 用户可以直接调用这些库中的函数。调用之前,必须首先在 VB 中声明。该声明可为
模块级或窗体级,当作为模块级声明时,其作用域为所有 FORM 和 MODULE,而作为窗体级
声明时其作用域为该声明所在的 FORM。
VB 调用 DLL 的格式:
Declare Sub 过程名 Lib″库名″Alias″别名″] ( [ByVal 参数 As 类型])
Declare Function 函数名 Lib″库名″[Alias″别名″] ( [ByVal 参数 As 类型]) As 类

在声明中:DECLARE 表示声明 DLL 中的函数,当声明是不具有返回值的过程时用 SUB 关
键字,而如果调用的函数具有返回值,则必须用 FUNCTION 关键字将其声明为函数并在声
明语句的最后用 AS 指明函数返回值的类型。LIB 关键字表示当前声明的过程或函数是库
名所指定的库中函数而非 VB 本身的函数。库名,就是对应动态链接库的名称,其中通信函
数在 USER 库中。ByVal 关键字将原参数数据类型一一对应到 VB 类型中。
WINDOWS 的 HELP 文件 WINSDK. HLP 中包含了完整的 WINDOWS API 函数信息,可
用该文件查看联机函数、数据结构及错误信息。

2. API 提供的通信函数
为了方便说明,我们将有关通信的函数及相关的数据结构放在全局模块中,文件名为