谁有有关短信接收pdu转为汉字的资料
谁有有关短信接收pdu转为汉字的资料 问题点数:100、回复次数:5Top
1 楼old_wei(老魏)回复于 2005-04-03 18:03:12 得分 0
我有,要代码还是资料。Top
2 楼old_wei(老魏)回复于 2005-04-03 18:18:01 得分 100
function ConvertPhoneNum(TelNum: string): string;
var
i:integer;
str,t:string;
begin
str:=TelNum;
Result:='';
i:=1;
if system.odd(length(str)) then str := str + 'F';
while i<Length(str) do
begin
t:=copy(str,i+1,1);
Result:=Result+t;
t:=copy(str,i,1);
Result:=Result+t;
i:=i+2;
end;
end;
function Encode1(var s:String):String;
var
i,j,len:Integer;
cur:Integer;
t:String;
ws:WideString;
begin
Result:='';
ws:=s;
len:=Length(ws);
i:=1;j:=0;
while i<=len do
begin
cur:=ord(ws[i]);
FmtStr(t,'%4.4X',[cur]);
Result:=Result+t;
inc(i);
j:=(j+1) mod 7;
end;
end;
function SendSms(TelNum:string;SmsData:string):string;
var Sendstring,strtemp:string;
begin
sendstring:=Encode1(SmsData);
strtemp:='0011000D9168'+ConvertPhoneNum(TelNum);
strtemp:=strtemp+'000801'+Inttohex(Length(sendstring)div 2,2)+sendstring+chr(26);
sendstring:=strtemp;
strtemp:='AT+CMGS='+copy(inttostr(1000+Length(sendstring)div 2-1),2,3)+chr(13);
if not Form1.comm1.WriteCommData(Pchar(strtemp),Length(strtemp)) then
Result:='发送数据失败!'
else
begin
sleep(1000);
if not Form1.comm1.WriteCommData(Pchar(sendstring),Length(sendstring))then
Result:='发送数据失败!'
else
begin
Result:='发送数据成功!';
end;
end;
end;
我用SPCOMM控件发送成功。
用GSM MODEM 和 蓝牙的T39 都可以。
Top
3 楼cyblueboy83(爱情白痴—电脑迷)回复于 2005-04-03 20:16:00 得分 0
帮顶
Top
4 楼WangMinYI(步行者)回复于 2005-04-04 12:27:14 得分 0
我想问的是短信PDU转为汉字的那部分,AT+CMGR后读到的PDU转为汉字的那部分,,帮忙啊。。Top
5 楼WangMinYI(步行者)回复于 2005-04-04 12:33:52 得分 0
pdu编码格式
08 //短消息中心长度
91 //短消息中心有国家编码 没有为81
68 31 08 02 00 05 f0 //短消息中心
31 //需要状态报告//不需为11
00 //永远为00 //分割符
0D //目标号码的长度14位
91 //有国家编码//没有为81
68 31 36 32 64 49 F0 //目标号码 +8613632346940
00 //TP-PID.协议标识,一般为00,其他值大家知道的帮忙补充一下
08 //是否免提//是为18
A7 //有效期标志
04 //正文4字节
4F 60 59 7D //你好 短消息内容
若没有短消息中心,编码为:
00 //表示默认短消息中心
31 //需要状态报告//不需为11
00 //永远为00 //分割符
0D //目标号码的长度14位
91 //有国家编码//没有为81
68 31 36 32 64 49 F0 //目标号码 +8613632346940
00 //TP-PID.协议标识,一般为00,其他值大家知道的帮忙补充一下
08 //是否免提//是为18
A7 //有效期标志
04 //正文4字节
4F 60 59 7D //你好 短消息内容
Top




