明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

VFP中完成電話撥號(hào)

[摘要]用VFP 管理名片簿、通信錄時(shí),經(jīng)常要用到電話撥號(hào)程序。如直接使用Windows 98自帶的撥號(hào)程序,VFP 程序的完整性和界面一致性都將受到影響。 設(shè)計(jì)思想 要實(shí)現(xiàn)撥號(hào),只需讓程序往串口寫...
    用VFP 管理名片簿、通信錄時(shí),經(jīng)常要用到電話撥號(hào)程序。如直接使用Windows 98自帶的撥號(hào)程序,VFP 程序的完整性和界面一致性都將受到影響。
  設(shè)計(jì)思想
  要實(shí)現(xiàn)撥號(hào),只需讓程序往串口寫入at 命令。利用VFP 對(duì)Microsoft CommControl 控件的支持可以方便地控制電話。假設(shè)有一數(shù)據(jù)表Communication .dbf ,內(nèi)容如下:姓名電話號(hào)碼其他張三1234567ETC……將上述表引入表單Form1的數(shù)據(jù)環(huán)境之后,在Form1上加入下列控件,如下所示:
控件名稱控件類型控件屬性值
Text1Text ControlSource =communication .姓名
Text2Text ControlSource =communication .電話號(hào)碼
Command1Command Button Caption =“撥號(hào)”
Command2Command Button Caption =“掛斷”
Command3Command Button Caption =“下條記錄”
在表單中加入OLE 容器控件,當(dāng)提示菜單出現(xiàn)時(shí),選擇Insert Control ,在Control Type(控件類型)欄內(nèi)找到并雙擊Microsoft CommControl ,這時(shí)表單上會(huì)出現(xiàn)一個(gè)帶電話標(biāo)志的圖標(biāo),設(shè)定該控件的名稱為Telephone ,這就是在VFP 中實(shí)現(xiàn)電話撥號(hào)的核心部件。選擇Telephone 控件,單擊鼠標(biāo)右鍵,選擇MSCommProperties 菜單項(xiàng),可以更加靈活地控制該控件。
  設(shè)定事件代碼
在Form1的Init 事件中加入下列代碼:
go top
*設(shè)定通訊端口號(hào),可根據(jù)你的實(shí)際情況設(shè)定
*筆者的Modem 是接在Com3上的thisform.telephone .CommPort =3
*設(shè)定端口的通訊速率(波特率)、通訊字長(zhǎng)以及是否進(jìn)行校驗(yàn)
thisform.telephone .Settings =″9600,n ,8,1″
在Command1的Click 事件中加入下述代碼:
this .enabled =.not .this .enabled
thisform.command2.enabled =.t .
*打開通信端口,準(zhǔn)備工作
thisform.telephone .portopen =.t .
*ATDT表示執(zhí)行AT命令中的DT指令,D 表
示首先掛斷電話
*T表示使用音頻撥號(hào),如果你的電話使用的
是脈沖方式撥號(hào)
*請(qǐng)將T改為P,CHR(13)表示發(fā)送命令完畢
thisform.telephone .output =″ATDT″+電話號(hào)碼+
chr(13)
wait wind″正在撥號(hào),請(qǐng)稍候″nowa
在Command2的Click 事件中寫入下列代碼:
thisform.command1.enabled =.t .
thisform.command2.enabled =.f .
*關(guān)閉通信端口
thisform.telephone .portopen =.f .
在Command3的Click 事件中寫入下列代碼:
skip if eof()
go top
endi
thisform.refresh
經(jīng)過上面幾個(gè)步驟,大功告成了。戴上耳機(jī),對(duì)著話筒。

(四川省新都縣國(guó)家稅務(wù)局610500)