nbsp; begin sendflag:=True; end; sendcommindex:=0;end; // procedure Tmainform.SendSMS(strSMS : string; Mobile: string);var i : integer; strLog : string;begin // // 加入发送短消息日志 // Mobileout:=Mobile; bsSkinMemo4.Lines.Add(FormatDateTime('YYYY-mm-dd HH:mm:ss ',now())+'###################开始向手机 ' + Mobile + ' 发送短消息######################'); if length(Mobile) <> 11 then begin ShowMessage('目标手机号不正确,发送短信失败!'); bsSkinMemo4.Lines.Add('error: 目标手机号不正确,发送短信失败!'); exit; end; strLog := '向手机 ' + Mobile + '进行短信编码::'; SendInEncodePdu(strSMS, Mobile); // end;end;procedure Tmainform.SendInEncodePdu(sms, mobile: string);var Widesms,tmp1 : WideString; // 定义成WideString型,每个字符占两上字节 ATCOMMAND,SendDatahead,smsDate,Sendtemp: string; tmp,tmp2,tmp3 : string; i,len,lenall,smscount,SMSID: integer; countD:double; s:string; userinfo:TIniFile;begin userinfo:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'userinfo.ini'); SMSID:=strtoint(userinfo.ReadString('SMSConfig','SMSID','1')); SendDatahead:=''; tmp:=''; tmp2:=''; if SMSID>240 then SMSID:=1 else SMSID:=SMSID+1; userinfo.WriteString('SMSConfig','SMSID',inttostr(SMSID)); // 发送及编码
程序 // 将中文GB2312编码转换为代码页为CP936的Unicode编码 // Widesms := WideString(sms); tmp2 := EncodeGb(Widesms); // // 此处为Widesms 的长度,不是sms的长度! // //发送前均发送短信中心 &