nsms应用开发使用手册.docx
《nsms应用开发使用手册.docx》由会员分享,可在线阅读,更多相关《nsms应用开发使用手册.docx(13页珍藏版)》请在冰点文库上搜索。
nsms应用开发使用手册
WaveCom短信猫支持多线程的dll接口函数包使用手册
(T/RJ01V1.3)
编制:
审核:
审 定:
批准:
1概述
本手册是操作WaveCoM短信Modem应用函数的定义格式、调用方法和返回值的说明。
1.使用前可使用demo带的测试函数试验。
2.nsms.dll是接口DLL;
3.许可协议.txt是nsms.dll的使用许可协议;
4.nsms.dll、许可协议.txt必须同时放置到应用软件Exe文件所在目录下;。
2定义
应用函数开发包含在下列文件:
nsms.dllAPI函数的动态联接库
适用操作系统:
WindowsNT:
需要NT3.1版或以后版本
Windows:
需要Windows98、Windows2000或以后版本
适用开发语言:
DELPHI5.0及以后版本
3函数列表
以Delphi调用格式进行说明
序号
函数定义
函数功能
1.
functionSms_Register(sn:
pchar):
integer;stdcall;
接口注册函数
2.
functionSms_Connection(Com_Port,Com_BaudRate:
integer;varMobile_Type:
pchar):
THandle;stdcall;external'nsms.dll';
初始化串口
3.
functionSms_Send(handle:
THandle;Sms_CenterNum,Sms_TelNum,Sms_Body:
string):
integer;stdcall;external'nsms.dll';
发送短信
4.
functionSms_Receive(handle:
THandle;Sms_Type:
string;varSms_Text:
PChar):
integer;stdcall;external'nsms.dll';
接收短信
5.
functionSms_Delete(handle:
THandle;Sms_Index:
string):
integer;stdcall;external'nsms.dll';
删除短信。
6.
functionSms_Disconnection(handle:
THandle):
integer;stdcall;external'nsms.dll';
关闭串口
4
函数调用流程
5函数说明
5.1接口注册
原型:
functionSms_Register(sn:
pchar):
THandle;
说明:
本函数用于接口的注册,试用版本不需要注册。
参数:
sn:
供应商提供的注册码
返回值:
值
意义
-1
错误
其它
成功
示例:
//填写注册码
ifSms_Register('88888-888-888888')<0then
begin
ShowMessage('接口注册失败,测试使用无需注册');
end;
5.2初始化串口
原型:
functionSms_Connection(Com_Port,Com_BaudRate:
integer;varMobile_Type:
pchar):
THandle;
说明:
本函数用于计算机的串口初始化并连接设备。
参数:
Com_Por:
设置串口
值
意义
1
串口1
2
串口2
3
串口3
4
串口4
参数:
Com_BaudRate:
波特率
值
意义
9600
9600波特率
参数:
Mobile_Type:
设备类型
值
意义
返回设备类型
返回值:
值
意义
-1
错误
其它
设备句柄
示例:
procedureTFrmSets.SaveAdd;
var
hcom:
THandle;
mt:
PChar;
begin
Try
hcom:
=Sms_Connection(1,9600,mt);
Except
Sms_Disconnection(hcom);
hcom:
=invalid_handle_value;
end;
ifhcom=invalid_handle_valuethen
begin
Sms_Disconnection(hcom);
ShowMessage('连接设备失败,请关闭设备在打开并等候10秒后重试..');
Exit;
end;
end;
5.3关闭串口断开设备
原型:
functionSms_Disconnection(handle:
THandle):
integer;
说明:
本函数用于关闭计算机已经打开的串口并断开连接设备。
参数:
设备句柄
返回值:
值
意义
其它
正确
-1
错误
示例:
同上
5.4发送短信
原型:
functionSms_Send(handle:
THandle;Sms_CenterNum,Sms_TelNum,
Sms_Body:
string):
integer;
说明:
本函数用于发送文本内容短信,不支持彩信。
参数:
handle:
设备句柄
值
意义
整数
设备句柄
参数:
Sms_CenterNum:
短信中心号码
值
意义
号码
参数:
Sms_TelNum:
被叫号码
值
意义
号码
参数:
Sms_Body:
短信内容
值
意义
文本
返回值:
值
意义
说明
0
正确
其它
错误
设备未连接
示例:
procedureTfrmMain.Button1Click(Sender:
TObject);
var
smsc,tel,str:
string;
begin
smsc:
='';
tel:
=trim(edit2.Text);
str:
=trim(edit3.Text);
if(Sms_Send(hcomm,smsc,tel,str)=0)
then
if(Application.Messagebox('短信息发送成功!
',
'系统提示',MB_OK+MB_DEFBUTTON1+MB_ICONQUESTION)=IDok)
thenabort;
end;
5.5读取短信
原型:
functionSms_Receive(handle:
THandle;Sms_Type:
string;varSms_Text:
PChar):
integer;
说明:
本函数用于读取短信内容。
参数:
handle:
设备句柄
值
意义
整数
设备句柄
参数:
Sms_Type:
读取类型
值
意义
4
全部读出
参数:
Sms_Text:
短信内容
值
意义
文本
返回值:
值
意义
说明
0
正确
其它
错误
设备未连接
短信格式:
(1)每一行为一条短信息;
(2)每一行格式:
SIM索引号[Tab]服务中心号码[Tab]主叫号码[Tab]日期时间[Tab]
消息内容
5.6删除短信
原型:
functionSms_Delete(handle:
THandle;Sms_Index:
string):
integer;
说明:
本函数用于删除短信内容。
参数:
handle:
设备句柄
值
意义
整数
设备句柄
参数:
Sms_Index:
索引号
值
意义
数字文本
返回值:
值
意义
说明
0
正确
其它
错误
设备未连接
6
一个完整的示例:
DELPHI调用示例:
unitUnit1;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls;
type
TfrmMain=class(TForm)
Button1:
TButton;
Edit2:
TEdit;
Edit3:
TEdit;
Memo1:
TMemo;
Button2:
TButton;
Button3:
TButton;
Button4:
TButton;
Button5:
TButton;
procedureButton1Click(Sender:
TObject);
procedureButton3Click(Sender:
TObject);
procedureButton2Click(Sender:
TObject);
procedureButton4Click(Sender:
TObject);
procedureButton5Click(Sender:
TObject);
procedureFormCreate(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
frmMain:
TfrmMain;
hcomm:
thandle;
functionSms_Connection(Com_Port,Com_BaudRate:
integer;varMobile_Type:
pchar):
THandle;stdcall;external'nsms.dll';
functionSms_Send(handle:
THandle;Sms_CenterNum,Sms_TelNum,Sms_Body:
string):
integer;stdcall;external'nsms.dll';
FunctionSms_Receive(handle:
THandle;Sms_Type:
string;varSms_Text:
PChar):
integer;stdcall;external'nsms.dll';
functionSms_Delete(handle:
THandle;Sms_Index:
string):
integer;stdcall;external'nsms.dll';
functionSms_Disconnection(handle:
THandle):
integer;stdcall;external'nsms.dll';
FunctionSms_Readcom(handle:
THandle):
string;stdcall;external'nsms.dll';
implementation
{$R*.dfm}
procedureTfrmMain.Button1Click(Sender:
TObject);
var
smsc,tel,str:
string;
begin
smsc:
='';
tel:
=trim(edit2.Text);
str:
=trim(edit3.Text);
if(Sms_Send(hcomm,smsc,tel,str)=0)
then
if(Application.Messagebox('短信息发送成功!
',
'系统提示',MB_OK+MB_DEFBUTTON1+MB_ICONQUESTION)=IDok)
thenabort;
end;
procedureTfrmMain.Button3Click(Sender:
TObject);
begin
hcomm:
=Sms_Disconnection(hcomm);
end;
procedureTfrmMain.Button2Click(Sender:
TObject);
var
m:
PChar;
begin
ifhcomm>0thenexit;
hcomm:
=
Sms_Connection(1,9600,m);
ShowMessage(m);
end;
procedureTfrmMain.Button4Click(Sender:
TObject);
var
aa:
PChar;
begin
Sms_Receive(hcomm,'4',aa);
Memo1.Lines.Add(aa);
end;
procedureTfrmMain.Button5Click(Sender:
TObject);
begin
ifSms_Delete(hcomm,'2')=0then
ShowMessage('删除成功');
end;
procedureTfrmMain.FormCreate(Sender:
TObject);
begin
hcomm:
=0;
end;
end.