亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usms.pas

?? 這個是DELPHI環境下的收發短信程序的源代碼。目前發送短信已經做的很完美了
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit USMS;

interface

uses
    Windows,Forms,SysUtils,USComm;

type
  TSMSSet = record
    ChkNewMsg:boolean;
    ChkEnCode:boolean;
    ChkMsgDelay:word;
    SMSCenter:string;
    SMSMode:string;
  end;

type
  TRxMsg = record
    Index:string;
    Mobile:string;
    Date:string;
    SMSMsg:string;
  end;

type
  TSMSControl = Class
  private
    function SendInEncodeText(SMSData:string;Mobile:string):boolean;
    function SendInEncodePdu(SMSData:string;Mobile:string):boolean;
    function ExchangeCode(src:string):string;
    function EnCodeGB(var s:widestring):string;
    function DeCodeUnicode(var s:string):string;
    function CheckInPdu:boolean;
    function CheckInText:boolean;
//    function EnCodeEn(s:string):string;                                       //7Bit編碼方式
  public
    SMSSet:TSMSSet;
    RxMsg:TRxMsg;
    ErrMsg:integer;
    Busy:boolean;
    SComm:TSComm;
    Constructor Create;
  published
    function SendSMS(var strSMS:string;Mobile:string):boolean;                  //發送短消息
    function CheckNewSMS:boolean;                                               //接收短消息
    function IniSMS:integer;
  end;

var
  SMS:TSMSControl;



implementation

uses
  UFConfig;


constructor TSMSControl.Create;
begin
  inherited Create;
  SMSSet.ChkNewMsg := TRUE;
  SMSSet.ChkEnCode := FALSE;
  SMSSet.ChkMsgDelay := 5;
  SMSSet.SMSCenter := '';
  SMSSet.SMSMode := 'PDU';
  ErrMsg := 0;
  RxMsg.Index := '';
  RxMsg.Mobile := '';
  RxMsg.Date := '';
  RxMsg.SMSMsg := '';
  SComm := TSComm.Create;
end;

function IntToHexStr(mInt:integer):string;
var
  H,L:integer;
begin
  H := mInt div 16;
  if H < 10 then H:=H+48 else H:=H+55;
  L := mInt mod 16;
  if L < 10 then L:=L+48 else L:=L+55;
  result := chr(H) + chr(L);
end;

function HexStrToInt(mStr:string):integer;
var
  H,L:integer;
begin
  H := ord(mStr[1]);
  if H >= 65 then H:=H - 55 else H:=H - 48;
  L := ord(mStr[2]);
  if L >= 65 then L:=L - 55 else L:=L - 48;
  result := H*16 + L;
end;

function TSMSControl.IniSMS:integer;
var
  parBuffer:array[1..20] of char;
  RunDir:string;
  SendData:string;
  ReceData:string;
  //  strTmp:Pchar;
  iNum:integer;
begin
  result := 0;
  RunDir := ExtractFileDir(Application.ExeName);

  GetPrivateProfileString('System','DelayTime','5',PChar(@parBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
  self.SMSSet.ChkMsgDelay := StrToInt(Copy(parBuffer,1,strlen(@parBuffer[1])));

  GetPrivateProfileString('System','ChkNewMsg','1',PChar(@parBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
  if Copy(parBuffer,1,strlen(@parBuffer[1])) = '1' then self.SMSSet.ChkNewMsg := TRUE else self.SMSSet.ChkNewMsg := FALSE;

  GetPrivateProfileString('System','ChkEnCode','1',PChar(@parBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
  if Copy(parBuffer,1,strlen(@parBuffer[1])) = '1' then self.SMSSet.ChkEnCode := TRUE else self.SMSSet.ChkEnCode := FALSE;

  GetPrivateProfileString('SMS','SMSCenter','',PChar(@parBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
  self.SMSSet.SMSCenter := Copy(parBuffer,1,strlen(@parBuffer[1]));

  GetPrivateProfileString('SMS','SMSMode','PDU',PChar(@parBuffer[1]),500,Pchar(RunDir+'\'+IniPath));
  self.SMSSet.SMSMode := Copy(parBuffer,1,strlen(@parBuffer[1]));

  SComm.purgeReadWrite(0);                                                      //清接收緩沖區
  SComm.purgeReadWrite(1);                                                      //清發送緩沖區
  SendData := 'ATE0'+chr(13);                                                   //關閉回顯
  SComm.WriteCom(SendData,0,TRUE,500);
  SComm.ReadCom(ReceData,iNum,6,FALSE,1000);                                    //延時并清接收緩沖區
  if (copy(ReceData,1,4) <> 'ATE0') and (copy(ReceData,3,2) <> 'OK') then
  begin
    result := -1;
    exit;
  end;

  SComm.ReadCom(ReceData,iNum,500,FALSE,100);                                   //先清接收緩沖區
  SendData := 'AT+CSCS="GSM"'+chr(13);                                          //設置命令參數輸入編碼方式,選擇"UCS2"方式時,設置短消息中心時應使用PDU的UCS2編碼方式,否則ERROR!
  SComm.WriteCom(SendData,0,FALSE,200);
  SComm.ReadCom(ReceData,iNum,10,FALSE,200);                                    //延時并清接收緩沖區
  if (copy(ReceData,3,2) <> 'OK') then
  begin
    result := -4;
    exit;
  end;

  SendData := 'AT+CSCA="+'+self.SMSSet.SMSCenter+'"'+chr(13);                   //設置短消息中心
  SComm.WriteCom(SendData,0,FALSE,200);
  SComm.ReadCom(ReceData,iNum,6,FALSE,500);                                     //延時并清接收緩沖區
  if (copy(ReceData,3,2) <> 'OK') then
  begin
    SComm.ReadCom(ReceData,iNum,3,FALSE,200);                                   //接收剩余字節
    result := -5;
    exit;
  end;

  if self.SMSSet.SMSMode = 'Text' then
  begin
    SendData := 'AT+CMGF=1'+chr(13);                                            //Text模式
    SComm.WriteCom(SendData,0,FALSE,200);
    SComm.ReadCom(ReceData,iNum,6,FALSE,500);                                   //延時并清接收緩沖區
    if (copy(ReceData,3,2) <> 'OK') then
    begin
      SComm.ReadCom(ReceData,iNum,3,FALSE,200);                                 //接收剩余字節
      result := -6;
      exit;
    end;
  end else
  begin
    SendData := 'AT+CMGF=0'+chr(13);                                            //PDU模式
    SComm.WriteCom(SendData,0,FALSE,200);
    SComm.ReadCom(ReceData,iNum,6,FALSE,500);                                   //延時并清接收緩沖區
    if (copy(ReceData,3,2) <> 'OK') then
    begin
      SComm.ReadCom(ReceData,iNum,3,FALSE,200);                                 //接收剩余字節
      result := -7;
      exit
    end;

    SendData := 'AT+CSCS="UCS2"'+chr(13);                                       //設置命令參數輸入編碼方式,選擇"UCS2"方式時,設置短消息中心時應使用PDU的UCS2編碼方式,否則ERROR!
    SComm.WriteCom(SendData,0,FALSE,200);
    SComm.ReadCom(ReceData,iNum,6,FALSE,500);                                   //延時并清接收緩沖區
    if (copy(ReceData,3,2) <> 'OK') then
    begin
      SComm.ReadCom(ReceData,iNum,3,FALSE,200);                                 //接收剩余字節
      result := -8;
      exit;
    end;
  end;
end;

function TSMSControl.SendInEncodeText(SMSData:string;Mobile:string):boolean;
var
  SendData:string;
  ReceData:string;
  iNum:integer;
begin
  result := FALSE;
  SComm.ReadCom(ReceData,iNum,0,TRUE,0);                                        //先清接收緩沖區
  SendData := 'AT+CMGS="'+Mobile+'"'+chr(13);
  SComm.WriteCom(SendData,0,FALSE,200);
  SComm.ReadCom(ReceData,iNum,3,FALSE,500);                                     //延時100ms
  if (copy(ReceData,3,1) <> '>') then
  begin
    result := FALSE;
    exit;
  end;

  SendData := SMSData + chr(26);                                                //chr(26)為ctrl+z
  SComm.WriteCom(SendData,0,FALSE,200);
  SComm.ReadCom(ReceData,iNum,9,FALSE,6000);                                    //延時100ms
  //#$D#$A'+CMGS: 14'#$D#$A#$D#$A'OK'#$D#$A     OK   時返回19個字節
  //#$D#$A'ERROR'#$D#$A                         Error時返回 9個字節
  if copy(ReceData,4,5) = '+CMGS' then
  begin
    SComm.ReadCom(ReceData,iNum,10,FALSE,200);                                  //延時100ms
    result := TRUE;
  end
end;

{function TSMSControl.EnCodeEn(s:String):String;                                //7Bit編碼方式
var
  i,j,len:Integer;                                                              //j 用于移位計數
  cur:Integer;
  t:String;
begin
  Result := '';
  len := Length(s);
  i := 1;
  j := 0;
  while i<=len do
  begin
    if i<len then                                                               //數據變換
    begin
      cur := (ord(s[i]) shr j) or ((ord(s[i+1]) shl (7-j)) and $FF)
    end else
    begin
      cur:=(ord(s[i]) shr j) and $7F;
    end;
    FmtStr(t,'%2.2X',[cur]);
    Result:=Result+t;
    inc(i);
    j:=(j+1) mod 7;if j=0 then inc(i);                                          //移位計數達到7位的特別處理
  end;
end;}

function TSMSControl.EnCodeGB(var s:widestring):string;
var
  sLen:integer;
  cur:integer;
  i:integer;
  strTmp:string;
begin
  result := '';
  sLen := length(s);
  i := 1;
  while i <= sLen do
  begin
    cur := ord(s[i]);                                                           //先返回序數值
    FmtStr(strTmp,'%4.4X',[cur]);                                               //格式化序數值(BCD轉換)
    result := result + strTmp;
    inc(i);
  end;
end;

function TSMSControl.DeCodeUnicode(var s:String):String;
var
Buf:array[0..100] of widechar;     //[1..70]
len,i:integer;
begin
  len := round(Length(s)/4)-1;
  for i:=0 to Len do
  begin
    buf[i] := widechar(StrToint('$'+copy(s,4*i+1,4)));
  end;
  buf[Len+1] := #0;
  result := WideCharToString(Buf);
end;

function TSMSControl.ExchangeCode(src:string):string;
var
  strTmp:string;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
岛国精品在线观看| 亚洲视频 欧洲视频| 91福利视频久久久久| 大桥未久av一区二区三区中文| 久久精品国产999大香线蕉| 亚洲成人免费视频| 亚洲成av人片www| 午夜精彩视频在线观看不卡| 亚洲国产成人精品视频| 亚洲高清视频的网址| 日韩主播视频在线| 偷拍一区二区三区四区| 免费成人在线观看| 激情综合一区二区三区| 丁香六月久久综合狠狠色| 成人av电影在线网| 欧洲一区二区av| 3751色影院一区二区三区| 91精品国产综合久久久久久久久久 | 亚洲大片一区二区三区| 亚洲777理论| 黄色成人免费在线| 在线精品视频免费观看| 欧美主播一区二区三区美女| 51精品国自产在线| 国产日韩一级二级三级| 国产精品免费视频一区| 亚洲国产综合人成综合网站| 青青草精品视频| 波多野结衣91| 69堂精品视频| 国产日产亚洲精品系列| 亚洲综合一区二区精品导航| 美女一区二区视频| 99久久精品情趣| 日韩欧美国产综合一区| 中文字幕永久在线不卡| 日本欧美久久久久免费播放网| 国产精品亚洲人在线观看| 91国偷自产一区二区开放时间| 日韩美女一区二区三区四区| 亚洲欧洲日韩av| 久久超碰97中文字幕| 一本大道久久a久久综合婷婷| 日韩三区在线观看| 亚洲综合清纯丝袜自拍| 国产999精品久久久久久| 欧美日韩亚洲另类| 亚洲欧洲av在线| 国产呦萝稀缺另类资源| 欧美色综合网站| 成人免费一区二区三区视频| 久久国内精品视频| 欧美日韩一区二区在线观看| 国产精品毛片大码女人| 国产伦精品一区二区三区在线观看| 在线观看视频一区二区欧美日韩| 国产丝袜欧美中文另类| 日韩在线一区二区| 欧美日韩亚洲综合一区 | 99精品一区二区三区| 精品久久久久久亚洲综合网| 亚洲mv在线观看| 欧美在线free| 日本不卡一区二区三区高清视频| bt7086福利一区国产| 国产色一区二区| 久久成人久久爱| 日韩免费高清电影| 蜜桃一区二区三区在线| 欧美久久久久久久久中文字幕| 亚洲免费观看高清完整版在线观看 | 色老综合老女人久久久| 国产精品高潮久久久久无| 国产精品18久久久久久久久久久久| 欧美一级日韩一级| 亚洲国产精品精华液网站| 欧美在线免费视屏| 亚洲一区二区三区免费视频| 欧美网站大全在线观看| 亚洲一区视频在线观看视频| 欧美午夜精品理论片a级按摩| 樱桃国产成人精品视频| 欧美日韩色综合| 丝袜美腿成人在线| 欧美大度的电影原声| 国产在线视频一区二区三区| www国产成人免费观看视频 深夜成人网| 日本不卡视频在线观看| 欧美成人一区二区三区在线观看 | 国产河南妇女毛片精品久久久| 久久日韩精品一区二区五区| 成人蜜臀av电影| 亚洲少妇30p| 欧美午夜精品电影| 美女一区二区视频| 国产精品午夜春色av| 91免费在线看| 日韩黄色免费电影| 久久久久国产精品厨房| 成人午夜av在线| 一区二区视频在线| 欧美高清www午色夜在线视频| 黄色资源网久久资源365| 国产精品免费丝袜| 7777精品伊人久久久大香线蕉完整版| 美日韩黄色大片| 亚洲色图欧美偷拍| 日韩欧美国产电影| 色婷婷精品大视频在线蜜桃视频| 午夜精品国产更新| 国产精品白丝在线| 91精品国产手机| av欧美精品.com| 蜜桃av噜噜一区二区三区小说| 日本一区二区高清| 欧美一区二区三区在线观看| 成人午夜激情在线| 美女看a上一区| 一二三四社区欧美黄| 久久久www成人免费无遮挡大片| 97se亚洲国产综合自在线| 蜜桃av噜噜一区| 一区二区三区欧美亚洲| 国产欧美视频一区二区| 欧美一区二区女人| 欧美自拍丝袜亚洲| 91亚洲精品久久久蜜桃网站| 国产一区视频导航| 日韩在线卡一卡二| 亚洲一区在线观看网站| 成人免费在线视频| 国产日韩精品视频一区| 日韩精品一区二区三区三区免费| 欧洲人成人精品| 99精品热视频| 国产成人精品一区二区三区四区| 日韩精品一级二级 | 精品久久人人做人人爱| 欧洲一区二区av| 一本色道综合亚洲| 成人av影院在线| 国产宾馆实践打屁股91| 国产一区二区三区美女| 久久精品99国产精品日本| 蜜臀av国产精品久久久久| 三级不卡在线观看| 天堂va蜜桃一区二区三区漫画版| 亚洲品质自拍视频| 综合电影一区二区三区 | 在线观看91av| 欧美日韩成人综合在线一区二区| 色一情一伦一子一伦一区| 99久久99久久综合| 一本色道久久综合精品竹菊 | 亚洲免费视频中文字幕| 亚洲免费资源在线播放| 有坂深雪av一区二区精品| 亚洲欧洲日韩在线| 亚洲免费在线看| 三级亚洲高清视频| 久久机这里只有精品| 国产美女av一区二区三区| 国产精品1024| 一本久久精品一区二区| 欧美一级欧美三级| 日韩免费视频线观看| 久久久五月婷婷| 国产精品的网站| 亚洲午夜一二三区视频| 青青草伊人久久| 国产成人在线视频网站| 91日韩精品一区| 欧美精品亚洲二区| 欧美精品一区二区三区四区| 国产欧美一区二区精品秋霞影院| 最新国产の精品合集bt伙计| 一区二区高清视频在线观看| 日本不卡一二三| 成人av电影在线| 欧美日韩国产成人在线免费| 久久一区二区视频| 成人欧美一区二区三区黑人麻豆 | 中文字幕一区二区三区av | 色综合久久综合| 91精品国产高清一区二区三区| 欧美大片顶级少妇| 亚洲欧美另类图片小说| 日韩1区2区3区| www.综合网.com| 欧美群妇大交群的观看方式| 国产欧美日韩另类视频免费观看| 亚洲麻豆国产自偷在线| 另类的小说在线视频另类成人小视频在线 | 亚洲高清视频的网址| 久久国产精品一区二区| 成人亚洲一区二区一| 91国产成人在线| 国产女人水真多18毛片18精品视频| 欧美性猛片aaaaaaa做受|