VFP中实现电话拨号
来源:优易学  2011-12-9 18:40:42   【优易学:中国教育考试门户网】   资料下载   IT书店
 用VFP 管理名片簿、通信录时,经常要用到电话拨号程序。如直接使用Windows 98自带的拨号程序,VFP 程序的完整性和界面一致性都将受到影响。
  设计思想
  要实现拨号,只需让程序往串口写入at 命令。利用VFP 对Microsoft CommControl 控件的支持可以方便地控制电话。假设有一数据表Communication .dbf ,内容如下:姓名电话号码其他张三1234567ETC……将上述表引入表单Form1的数据环境之后,在Form1上加入下列控件,如下所示:
  控件名称控件类型控件属性值
  Text1Text ControlSource =communication .姓名
  Text2Text ControlSource =communication .电话号码
  Command1Command Button Caption =“拨号”
  Command2Command Button Caption =“挂断”
  Command3Command Button Caption =“下条记录”
  在表单中加入OLE 容器控件,当提示菜单出现时,选择Insert Control ,在Control Type(控件类型)栏内找到并双击Microsoft CommControl ,这时表单上会出现一个带电话标志的图标,设定该控件的名称为Telephone ,这就是在VFP 中实现电话拨号的核心部件。选择Telephone 控件,单击鼠标右键,选择MSCommProperties 菜单项,可以更加灵活地控制该控件。
  设定事件代码
  在Form1的Init 事件中加入下列代码:
  go top
  *设定通讯端口号,可根据你的实际情况设定
  *笔者的Modem 是接在Com3上的thisform.telephone .CommPort =3
  *设定端口的通讯速率(波特率)、通讯字长以及是否进行校验
  thisform.telephone .Settings =″9600,n ,8,1″
  在Command1的Click 事件中加入下述代码:
  this .enabled =.not .this .enabled
  thisform.command2.enabled =.t .
  *打开通信端口,准备工作
  thisform.telephone .portopen =.t .
  *ATDT表示执行AT命令中的DT指令,D 表
  示首先挂断电话
  *T表示使用音频拨号,如果你的电话使用的
  是脉冲方式拨号
  *请将T改为P,CHR(13)表示发送命令完毕
  thisform.telephone .output =″ATDT″+电话号码+
  chr(13)
  wait wind″正在拨号,请稍候″nowa
  在Command2的Click 事件中写入下列代码:
  thisform.command1.enabled =.t .
  thisform.command2.enabled =.f .
  *关闭通信端口
  thisform.telephone .portopen =.f .
  在Command3的Click 事件中写入下列代码:
  skip if eof()
  go top
  endi
  thisform.refresh
  经过上面几个步骤,大功告成了。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训