?? delphi?
字號:
SMS客戶程序:指需要調用SMSCLIENT.DLL中的函數來收發短消息的程序。
SMS服務程序: 指提供短消息服務的程序。
SMS客戶程序通過引入SMSCLIENT.DLL 中的4個函數,來獲得短消息收發能力
function InitConnect(hostname:pchar):Integer; cdecl external 'SMSCLIENT.DLL';
功能:初始化SMS客戶程序與SMS服務程序的連接
參數說明:hostname--指運行SMS服務程序的計算機的網絡標識,本機一般填寫127.0.0.1
返回:-1--失敗 0--成功
function SendMsg(SCA:pchar;DA:pchar;UD:pchar):Integer; cdecl external 'SMSCLIENT.DLL';
功能:發送一條短消息(實際上是提交一條消息給SMS服務程序,由SMS服務程序發出去)
參數說明:SCA--短消息中心號碼(如成都移動就是:"13800280500")
DA--接收方手機號碼(如"13980711226")
UD--消息內容(如"你好!");
返回:-1:提交給SMS服務程序失敗
0:提交給SMS服務程序成功
function QueryMsg:Integer; cdecl external 'SMSCLIENT.DLL';
功能:查詢SMS服務程序
參數說明:無
返回:-1--查詢失敗,SMS服務程序無響應。
0--查詢成功,SMS服務程序端沒有收到的消息。
N(1,2,...)--查詢成功,SMS服務程序有N條收到的消息。
function ReadMsg:pchar; cdecl external 'SMSCLIENT.DLL';
功能:讀取一條消息
參數說明:無
返回:""--讀取失敗,SMS服務程序無響應
"EMPTY"--讀取成功,但SMS服務程序內沒有收到的消息。
"OA:..."--讀取成功,而且SMS服務程序有收到的消息。
具體格式
"OA:發送方號碼 TIME:接收到該消息的時間 UD:消息內容"
在Delphi中的使用示例:
首先在欲調用DLL函數的unit中聲明函數:
var
function InitConnect(hostname:pchar):Integer; cdecl external 'SMSCLIENT.DLL';
function QueryMsg:Integer; cdecl external 'SMSCLIENT.DLL';
function SendMsg(SCA:pchar;DA:pchar;UD:pchar):Integer; cdecl external 'SMSCLIENT.DLL';
function ReadMsg:pchar; cdecl external 'SMSCLIENT.DLL';
在調用DLL處加入如下語句進行DLL裝載:
var r,i:integer;
s:string;
//在程序啟動后,應當進行初始化連接操作:
r:=InitConnect('xtpad'); //xtpad是運行sms服務程序的計算機網絡名稱,這里是舉例。
if r=-1 then ShowMessage('初始化連接失敗:SMS服務器沒有響應');
//需要發送消息時:
i:=SendMsg(pchar('13800280500'),pchar(edit1.text),pchar(memo1.text));
if i=-1 then showmessage('failed!')
else showmessage('success');
//查詢SMS服務程序中有幾條未讀取的消息:
i:=QueryMsg;
if i=-1 then
begin
statusbar1.Panels[0].text:='SMSServer 異常或沒有啟動';
end;
if i=0 then
begin
statusbar1.Panels[0].text:='SMSServer正常,沒有收到的消息';
end;
if i>0 then
begin
statusbar1.Panels[0].text:='SMSServer 正常,還有'+inttostr(i)+'條收到的信息';
end;
//讀取一條消息
try
s:=ReadMsg;
Memo2.Lines.Add('收到:'+s);
except
end;
.....
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -