FoxPro下实现拨号通信的小程序

Author: 姜升 Date: 1997-01-01

  Foxpro包含一个可对各种类型文件进行读写操作的集合函数,即低层文件输入/输出函数(Low-Level file I/O Function),它们不但可以建立、打开、读取并写入各种类型的文件,还可以对通讯口(Communication Ports)进行数据存取,基于此,我们可通过这些底层文件函数对通讯口的访问来实现数据的异步通讯。
  下面举一简单例子,其功能是通过MODEM实现电话拨号和挂断电话,程序的实现过程为:首先,通过DOS的内部命令MODE对COM端口的波特率、停止位、奇偶校验位等进行设置,然后打开此通讯口,向其传送拨号命令进行拨号,程序源代码如下:
  set talk off
  clear
  dh=space(15)
  @10,10 say  "请输入电话号码:"
  get dh
  read
  wait wind "请打开MODEM,按任意键开始拨号"
  dh=alltrim(dh)
  !mode com1:2400,n,8,1   *启动通讯接口COM1,2400为传输率,n表示不要奇偶校验,8为被传输符号使用的bit数,1表示传输符号使用的bit数
  hd=fopen("com1",12)     *打开通讯口COM1
  if ferror()=-1
  wait wind "无法打开通讯口"
  return
  endif
  =fputs(hd,"ATDT"+dh)    *传送命令进行拨号
  wait wind "按任意键取消与MODEM的联接,并退出"
  =fputs(hd,"ATZH")  *取消联接
  =fclose(hd)
  return