短信猫 delphi AT 接收 端消息,该如何处理
短信猫 delphi AT 接收 端消息
大侠们,有没有delphi 控制 AT指令,接收端消息的代码啊。。我现在只有发送的没有接收的。。
发送:
procedure TForm1.Button1Click(Sender: TObject);
Var
apdcomport:Tapdcomport;
r,s,s2,s3,s4,s5:string;
cmdlong,tmp:integer;
//msgs:WideString;
begin
try
ApdComPort := Tapdcomport.Create(nil); //创建串口通信对象
ApdComPort.AutoOpen := false;
apdcomport.ComNumber:=1;//设置串行通信口
apdcomport.Baud:=9600;//设置串口波特率
//msgs:=msg;
s:= '0031000D9168 ';
//PDU编码属性,这种方法是不需要设置短信中心号码的,因为现的手机SIM卡已经写好了
s2:=SEncodeMobNO(ed_hm.Text);//对手机号码进行PDU编码
s3:= '0008A7 ';
s4:= ' ';
s5:=EnCodeChinese(M_nr.Text);
tmp:=length(s5)div 2;
s4:=format( '%X ',[tmp]);
if length(s4) <2 then
s4:= '0 '+s4;
//计算PDU编码长度
r:=s+s2+s3+s4+s5+^Z;
cmdlong:=(length(r)-2) div 2;
apdcomport.Open:=true;//打开串行口
apdcomport.Output:= 'AT+CMGF=0 '#13;//设置Modem为PDU模式
delayticks(7,true);//延时
apdcomport.Output:= 'AT+CMGR=0 '#13;//设置信息长度,这里应为PDU编码长度的1/2.
delayticks(7,true);
apdcomport.
apdcomport.Output:=r;//发送短信。
delayticks(9,true);
//apdcomport.Open:=false;
//apdcomport.Free;
//Application.MessageBox( '发送成功! ', '提示 ',mb_ok+mb_iconinformation);
except
Application.MessageBox( '发送失败! ', '提示 ',mb_ok+mb_iconinformation);
end;
end;
接收呢????谢谢大侠们勒。。
------解决方案--------------------
大侠们,有没有delphi 控制 AT指令,接收端消息的代码啊。。我现在只有发送的没有接收的。。
发送:
procedure TForm1.Button1Click(Sender: TObject);
Var
apdcomport:Tapdcomport;
r,s,s2,s3,s4,s5:string;
cmdlong,tmp:integer;
//msgs:WideString;
begin
try
ApdComPort := Tapdcomport.Create(nil); //创建串口通信对象
ApdComPort.AutoOpen := false;
apdcomport.ComNumber:=1;//设置串行通信口
apdcomport.Baud:=9600;//设置串口波特率
//msgs:=msg;
s:= '0031000D9168 ';
//PDU编码属性,这种方法是不需要设置短信中心号码的,因为现的手机SIM卡已经写好了
s2:=SEncodeMobNO(ed_hm.Text);//对手机号码进行PDU编码
s3:= '0008A7 ';
s4:= ' ';
s5:=EnCodeChinese(M_nr.Text);
tmp:=length(s5)div 2;
s4:=format( '%X ',[tmp]);
if length(s4) <2 then
s4:= '0 '+s4;
//计算PDU编码长度
r:=s+s2+s3+s4+s5+^Z;
cmdlong:=(length(r)-2) div 2;
apdcomport.Open:=true;//打开串行口
apdcomport.Output:= 'AT+CMGF=0 '#13;//设置Modem为PDU模式
delayticks(7,true);//延时
apdcomport.Output:= 'AT+CMGR=0 '#13;//设置信息长度,这里应为PDU编码长度的1/2.
delayticks(7,true);
apdcomport.
apdcomport.Output:=r;//发送短信。
delayticks(9,true);
//apdcomport.Open:=false;
//apdcomport.Free;
//Application.MessageBox( '发送成功! ', '提示 ',mb_ok+mb_iconinformation);
except
Application.MessageBox( '发送失败! ', '提示 ',mb_ok+mb_iconinformation);
end;
end;
接收呢????谢谢大侠们勒。。
------解决方案--------------------