首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

短信猫 delphi AT 接收 端消息,该如何处理

2012-02-14 
短信猫 delphi AT 接收 端消息大侠们,有没有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;

接收呢????谢谢大侠们勒。。

------解决方案--------------------


这是我写的一段在用的代码
procedure TSmsByComm.SetCenterNo(Value: WideString);
begin
if Assigned(MyComm) then
begin
strLastAT := 'AT+CSCA= " ' + Value + ' " ' + #13;
MyComm.Output := strLastAT;
Sleep(1000);
strRec := MyComm.Input;
if AnsiContainsText(strRec, 'OK ') then
strCenterNo := Value;
end;
end;
[解决办法]
我用的TMSComm
[解决办法]
偶自己写的组件,感觉用着还可以!!
[解决办法]
网上好多例子,以前有做过,现在找不到了
[解决办法]
串口控件应该有收到数据的事件吧,在事件中处理啊
[解决办法]
我用的SPComm,看了个小例子就行了,挺简单的
[解决办法]
诺亚软件公司 提供开发接包
[解决办法]
我用的是MsComm 如果要的话我可以给你
[解决办法]
我也是用MSCOMM 可以收发的。

热点排行