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

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

?? smsredskyimpl.pas

?? 多線程發送和接收短信
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
// s_Text:string;
 Next_Str:widestring;
begin
  i:=pos('+86',Str);
  if i>0  then
    TelNum:=copy(Str,i+3,11); //提取手機號碼 //傳遞給函數變量返回
  //==============================================
  Next_Str:=copy(Str,i+14,length(Str)-(i+4)+1);

  i:=pos(#13,Next_Str);
  if i>0 then
     Next_Str:=copy(Next_Str,i+1,length(Next_Str)-(i+1)+1);
  i:=pos(#13,Next_Str);
  if i>0 then
     Next_Str:=copy(Next_Str,1,i-1);
  RecieveHandOK:=UniCode2GB(Next_Str);  //返回回執的命令信息
end;
//===========(自定義函數)========2004-08-13 by 郭秀雙===========================
//功能:對COM口收到信息進行分類====〉〉〉〉提取
//參數:Recie_STR:Com口收到的信息
Function TRedSky.FromComInfo_SortChoose(Recie_STR:string):string;
var
 i:integer;
 SText,Num,ssS:widestring;
 ResultSTR:widestring;
begin
      ssS:=Recie_STR;
      i:=pos('+CMGR',ssS);
      if i>0 then
       begin
       //===================
       i:=pos('0891',ssS);
       if i>0 then
         begin
          SText:=CopyText(Num,ssS);
          if  Num<>'' then
            ResultSTR:=Num;
          if  SText<>'' then
            ResultSTR:=ResultSTR+','+UniCode2GB(SText);
          end;
       i:=Pos('$OK:TMSG',ssS);
       if i>0 then
         begin
           SText:=RecieveOKTMSG(Num,ssS);
           if  SText<>'' then
           ResultSTR:=Num+','+SText;
         end
       else
         begin
           SText:=RecieveHandOK(Num,ssS);
           if  SText<>'' then
           ResultSTR:=Num+','+SText;
         end;
       end ;
      //==============主動讀取短信時的信息提取(  )==================================
      i:=pos('+CMTI: "SM"',ssS);
      if i>0 then
       begin
         SText:=ReadComSMS(ssS);
         if  SText<>'' then
         ResultSTR:=Num+','+SText;
         M.Lines.Add('ReadSMS:'+ResultSTR);
       end;
      //=============讀取全部短信息的提取( AT+CMGL="ALL" )======================
      i:=pos('+CMGL',ssS);
      if i>0 then
       begin
         i:=Pos('$OK:TMSG',ssS);
         if i>0 then
         begin
           SText:=RecieveOKTMSG(Num,ssS);
           if  SText<>'' then
           ResultSTR:=Num+','+SText;
         end
       else
         begin
           SText:=RecieveHandOK(Num,ssS);
           if  SText<>'' then
           ResultSTR:=Num+','+SText;
         end;
       End;
  //================觸發事件====2004-08-14 by guoxiushuang=============
  if (Num<>'') and  (SText<>'') then
      FEvents.OnComReceiveSMS(Num,SText);
end;
procedure TRedSky.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
type
  ss=array[1..500]of char ;
var    str1:^ss;
       i:integer;
       s:array[0..15] of char ;
        n:integer;
       sss,SText:   string;
begin
       SetLength(Sss, BufferLength); //接收RS232的數據并顯示Memo1上。
       Move(Buffer^, PChar(Sss)^, BufferLength);
       //========進行字符串的分類處理===========
       M_ComEvent.Lines.Add(ssS);
       FromComInfo_SortChoose(ssS);
end;

//============GBK轉為漢字=======================================================
function TRedSky.WideStrToCh(S: String): string; //
var
  C,C1,C2: String;
  SS: WideString;
  i: Word;
begin
  i := 1;
  while i <= (Length(S) - 2) do
  begin
    C1 := Copy(S, i, 2);
    C2 := Copy(S, i + 2, 2);
    C := Chr(StrToInt('$' + C1)) + Chr(StrToInt('$' + C2));
    SS := SS + C;
    i := i + 4;
  end;
  Result := SS;
end;  
//============漢字轉成GBK碼=====================================================
Function TSendSMSThread.TextToGBK(Text:string):string;
var
 t:widestring;
 i:integer;
begin //晴天====C7E7CCEC
  for i:=1 to Length(Text) do
  t := t + IntToHex(ord(Text[i]),2);
  TextToGBK:=t;
end;
//===========短信息編碼=============
//Pdu 編碼
function TSendSMSThread.EncodeGb(s: WideString): string;
var
        i,len:Integer;
        cur:Integer;
        t:string;
begin
        Result:='';
        len:=Length(s);
        i:=1;
        while i<=len do
        begin
                cur:=ord(s[i]);
                //BCD轉換
                FmtStr(t,'%4.4X',[cur]);
                Result:=Result+t;
                inc(i);
        end;
end;
//
// Pdu模式手機號碼編碼
//
//
// 用來交換移位
//
function TSendSMSThread.ConvertPhoneNum(PhoneNum: string): string;
var
        Len, i : integer;
        tmp,T_PhoneNum : widestring;

begin
        Len := length(PhoneNum);
         if Len=11 then
           T_PhoneNum:='86'+PhoneNum
        else
           T_PhoneNum:=PhoneNum;
        if (len <> 11) and (len <> 13) then
        begin
                ConvertPhoneNum := '';
                exit;
        end;

        T_PhoneNum := T_PhoneNum + 'F';
        Len := length(T_PhoneNum);
        i := 1;
        while i<=len do
        begin
                tmp := tmp + T_PhoneNum[i + 1] + T_PhoneNum[i];
                inc(i, 2);
        end;
        ConvertPhoneNum := tmp;
end;
//===========(自定義函數)=====2004-08-11=======郭秀雙==============================
//格式: '11000D91'+ConvertPhoneNum(trim(CB_Tel.Text))+'0008A7'+L1(SendStr1)+SendStr1;
//功能:控制命令+派車單=轉換成編碼
//參數:Mission:控制命令; AlarmInfo:派車單
//附加:參數返回的時候前面增加了 長度字節
Function  TSendSMSThread.MakeInfo_UnicodeGBK(SendTel,Mission,AlarmInfo:string):string;
var
 M_Code,A_Code,S_Phone:widestring;
 Len:string;
begin
   if Length(SendTel)>=11 then
      begin
        if Length(SendTel)=11 then
           SendTel:='86'+SendTel;
        if Mission<>'' then
           M_Code:=EncodeGb(WideString(Mission)); //控制命令
        if AlarmInfo<>'' then
           A_Code:=TextToGBK(AlarmInfo);          //派車單
        S_Phone:='11000D91'+ConvertPhoneNum(SendTel)+'0008A7'; //發送的目的電話號碼
        //=================================
         Len:=inttostr(length(M_Code+A_Code));
         Len:=IntToHex(strtoint(Len) div 2, 2);
      end;
   M_Temp.Lines.Add('GBKCODE:'+S_Phone+Len+M_Code+A_Code);
   MakeInfo_UnicodeGBK:=S_Phone+Len+M_Code+A_Code;
   
end;
//發送短信息線程
Constructor TSendSMSThread.Create(Suspended:Boolean;Phone,Mission,Text:string;Temp:Tmemo;Comname:Tcomm);
begin
   //showmessage('ok-0');
   inherited Create(Suspended);
     ID_Phone:=Phone;
     ID_Mission:=Mission;
     ID_Text:=Text;
     M_Temp:=Temp;
     Comm1:=Comname;
    // showmessage(ID_Phone+ID_Mission+ID_Text);
   M_Temp.Lines.Add('警告!@@@@InitStartSendMode'+ID_Phone+ID_Mission+ID_Text);
   //Form1.M_Send.Lines.Add('警告!!'+ID_Phone+'::'+ID_Mission+'::'+ID_Text);
   FreeOnTerminate:=True;
   
end;
//=======(自定義函數)===2004-08-11====by 郭秀雙=================================
//功能:初始化Pdu 發送設置
//參數:Sign :: 1 :Text方式;0:Pdu方式
Function TSendSMSThread.InitStartSendMode(Sign:string):string;
var
  str:shortstring;
  len:word;
  buf:pchar;
begin
  //showmessage('ok0');
   //=====開始發送====初始化PDU設置信息===================
  str:='AT+CMGF='+Sign+chr(13);
 // M_Temp.Lines.Add('修改發送模式:'+Sign);
  buf:=@str;
  inc(buf);
  len:=length(str);
  comm1.WriteCommData(buf,len);
  sleep(200);
 // showmessage(str);
end;
//=========(自定義函數)=====2004-08-11=====by 郭秀雙===========================
//功能:發送信息至Com口,發往目的車載MDT顯示屏上
//參數: 
Function TSendSMSThread.SendInfoToCom(Text:string):string;
var
 // SendLength:integer;
 // str:shortstring;
//  len:word;
 // buf:pchar;
  s:string;
begin
  S:=Text;
 // showmessage('ok5');
   //=====開始發送====信息======pchar=============
  comm1.WriteCommData(pchar(s),length(s));
  //==============================
 M_Temp.Lines.Add('警告!@@@@ToCom'+s);
end;
procedure TSendSMSThread.SendSMSToCom;
  var
  SMS:string;
  SendLength:integer;
  str_1,str_2:string; //widestring     Shortstring
//  len:word;
//  buf:pchar;
begin
//  showmessage('ok4');
  if Length(ID_Text)<=112 then
     begin
       SMS:=MakeInfo_UnicodeGBK(trim(ID_Phone),ID_Mission,ID_Text);

       SendLength:=length(SMS) div 2;
       //第一段信息==========================
       str_1:='AT+CMGS='+inttostr(SendLength)+chr(13); //+inttostr(SendLength)53
       //第二段信息==========================
       str_2:='00'+SMS+chr(26)+chr(13);
       M_Temp.Lines.Add('警告!@@@@'+str_1);
       M_Temp.Lines.Add('警告!@@@@'+str_2);
       //======(1)初始化Pdu===========================
       InitStartSendMode('0');
       sleep(200);
       //======(2)發送第一段信息======================
       SendInfoToCom(str_1);
       sleep(200);
       //======(3)發送第二段信息======================
       SendInfoToCom(str_2);
       //M_Temp.Lines.Add('警告!@@@@'+str_1);
       //M_Temp.Lines.Add('警告!@@@@'+str_2);
     end
  else
     begin
       //Form1.M_Send.Lines.Add('警告!信息長度超長!!!!');
       //==========================================================
       SMS:=MakeInfo_UnicodeGBK(trim(ID_Phone),ID_Mission,Copy(ID_Text,1,112));
       SendLength:=length(SMS) div 2;
       //第一段信息==========================
       str_1:='AT+CMGS='+inttostr(SendLength)+chr(13); //+inttostr(SendLength)53
       //第二段信息==========================
       str_2:='00'+SMS+chr(26)+chr(13);
       //Form1.M_Send.Lines.Add('警告!@@@'+str_2);
       //======(1)初始化Pdu===========================
       InitStartSendMode('0');
       sleep(200);
       //======(2)發送第一段信息======================
       SendInfoToCom(str_1);
       sleep(200);
       //======(3)發送第二段信息======================
       SendInfoToCom(str_2);
       //-----------------------------------------------//
       //-----------------------------------------------//
       sleep(5000);
       //-----------------------------------------------//
       //-----------------------------------------------//
       SMS:=MakeInfo_UnicodeGBK(trim(ID_Phone),ID_Mission,Copy(ID_Text,113,Length(ID_Text)-112));
       SendLength:=length(SMS) div 2;
       //第一段信息==========================
       str_1:='AT+CMGS='+inttostr(SendLength)+chr(13); //+inttostr(SendLength)53
       //第二段信息==========================
       str_2:='00'+SMS+chr(26)+chr(13);
      //M_Temp.Lines.Add('警告!@@@@'+str_1);
      //M_Temp.Lines.Add('警告!@@@@'+str_2);
       sleep(200);

       //======(2)發送第一段信息======================
       SendInfoToCom(str_1);
       sleep(200);
       //======(3)發送第二段信息======================
       SendInfoToCom(str_2);
     end;
end;
procedure TSendSMSThread.execute;
var
   WaitReturn: DWORD;
begin
  //showmessage('ok2');
  FreeOnTerminate := True;
  //進入同步,防止其他線程訪問
  WaitReturn := WaitForSingleObject(SendMutex, INFINITE);
  begin
     WaitForSingleObject(SendMutex, INFINITE);
     //執行發送信息==========
     SendSMSToCom;
     //====暫停1秒鐘==防止數據表鎖死=============
     sleep(6000);
     ReleaseMutex(SendMutex);//
     sleep(1000);
     //showmessage('ok3');
  end;
end;
procedure TRedSky.SendSMS(const Phone, Mission, SMS: WideString);
begin
   //showmessage('ok-00');
   TSendSMSThread.Create(false,Phone,Mission,SMS,M,Comm1);
 
end;


//讀取GSM中所有的信息,并刪除
procedure TRedSky.ReadAllSMSFromGSM;
var
  str:shortstring;
  len:word;
  buf:pchar;
 begin
  InitStartSendMode('1');
  //=====開始發送====初始化PDU設置信息===================
  str:='AT+CMGL="ALL"'+chr(13);
  buf:=@str;
  inc(buf);
  len:=length(str);
  comm1.WriteCommData(buf,len);
  sleep(200);
end;

initialization
  TActiveFormFactory.Create(
    ComServer,
    TActiveFormControl,
    TRedSky,
    Class_RedSky,
    1,
    '',
    OLEMISC_SIMPLEFRAME or OLEMISC_ACTSLIKELABEL,
    tmApartment);
    //非可視化控件 OLEMISC_INVISIBLEATRUNTIME
    //可是化控件   OLEMISC_SIMPLEFRAME
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
5858s免费视频成人| 中文字幕日本不卡| 中文一区二区完整视频在线观看| 亚洲免费在线电影| 美国三级日本三级久久99| 成人av网站在线观看| 日韩视频一区二区| 亚洲v精品v日韩v欧美v专区| 国产成人午夜精品影院观看视频 | 蜜桃视频在线一区| 91麻豆成人久久精品二区三区| 亚洲精品在线观| 日韩av电影一区| 欧美性淫爽ww久久久久无| 国产精品乱人伦中文| 国产精品资源站在线| 91精品国产福利| 天天影视网天天综合色在线播放| 91香蕉视频污在线| 国产精品国产三级国产aⅴ中文| 极品瑜伽女神91| 欧美一区永久视频免费观看| 亚洲gay无套男同| 欧美性猛交一区二区三区精品| 亚洲天堂2016| 不卡在线观看av| 国产精品美女久久福利网站| 国产激情视频一区二区在线观看 | 欧美老肥妇做.爰bbww视频| 一区视频在线播放| 97久久精品人人澡人人爽| 国产精品亲子乱子伦xxxx裸| 国产福利不卡视频| 国产精品视频第一区| jizzjizzjizz欧美| 中文字幕中文字幕中文字幕亚洲无线| 国产成人精品网址| 国产精品国产三级国产aⅴ原创| hitomi一区二区三区精品| 亚洲同性同志一二三专区| 99久久99久久综合| 亚洲同性gay激情无套| 99视频一区二区| 亚洲情趣在线观看| 欧美视频一区二区在线观看| 五月婷婷激情综合网| 欧美一区二区三区视频免费| 美腿丝袜亚洲一区| 国产午夜久久久久| 99精品欧美一区二区三区小说 | 成人午夜电影小说| 亚洲色图视频网站| 欧美久久久影院| 美女www一区二区| 中文字幕精品一区二区精品绿巨人| 不卡一区二区三区四区| 一区二区三区在线高清| 欧美人成免费网站| 黄色精品一二区| 中文字幕一区二区不卡| 在线视频一区二区三区| 免费成人av在线播放| 久久久久久久电影| 99re6这里只有精品视频在线观看| 亚洲永久精品大片| 精品久久国产老人久久综合| 成人小视频免费观看| 亚洲第一二三四区| 国产日韩欧美精品综合| 欧美性做爰猛烈叫床潮| 久久99久久久欧美国产| 亚洲欧洲美洲综合色网| 欧美日韩免费观看一区三区| 国产精品一区二区三区乱码| 一区二区三区免费看视频| 日韩精品一区二区三区视频| 99久久精品免费| 久久99久久久久| 亚洲欧美精品午睡沙发| 精品国产露脸精彩对白| 一本大道久久a久久精品综合| 秋霞午夜鲁丝一区二区老狼| 亚洲欧美在线观看| 欧美xxxxx牲另类人与| 在线亚洲欧美专区二区| 成人国产精品视频| 精品一区二区三区日韩| 亚洲线精品一区二区三区| 国产精品免费人成网站| 日韩一二三区不卡| 在线观看91视频| 成人免费观看视频| 国产精品综合网| 美女视频网站久久| 日日夜夜精品视频免费| 亚洲柠檬福利资源导航| 国产欧美综合在线观看第十页| 正在播放一区二区| 欧洲亚洲精品在线| 色哟哟在线观看一区二区三区| 国产999精品久久久久久| 精品一区二区三区免费毛片爱| 五月开心婷婷久久| 午夜精品福利一区二区蜜股av| 91免费精品国自产拍在线不卡| 亚洲一区二区三区四区在线观看| 国产精品三级电影| 国产精品私房写真福利视频| 久久午夜羞羞影院免费观看| 日韩三级视频中文字幕| 91麻豆精品国产91| 8v天堂国产在线一区二区| 欧美日韩成人综合| 欧美日韩在线三区| 欧美日本一区二区三区| 欧美日本在线播放| 欧美精品久久久久久久久老牛影院| 欧美三区在线观看| 在线观看91av| 精品欧美久久久| 久久久久久久久久久久久女国产乱 | 国产麻豆精品一区二区| 久久精品99国产精品日本| 日本不卡视频在线观看| 免费看欧美美女黄的网站| 麻豆91免费观看| 国产麻豆欧美日韩一区| 丰满少妇在线播放bd日韩电影| 成人午夜激情影院| 色婷婷av一区二区三区大白胸 | 亚洲一区二区三区自拍| 亚洲国产美女搞黄色| 日本少妇一区二区| 国产在线麻豆精品观看| 成人av网站大全| 欧美性大战xxxxx久久久| 91精品国产综合久久精品app| 欧美一二区视频| 欧美国产精品专区| 亚洲精品成人在线| 日本不卡的三区四区五区| 国产美女精品人人做人人爽| 91丝袜呻吟高潮美腿白嫩在线观看| 色婷婷国产精品| 日韩免费电影一区| 中文字幕在线一区免费| 日韩和欧美的一区| 国产一区日韩二区欧美三区| 91麻豆免费在线观看| 欧美电影一区二区三区| 国产欧美日韩综合| 亚洲国产成人porn| 激情文学综合插| 91亚洲男人天堂| 日韩精品一区二区三区中文不卡 | 中文字幕一区二区日韩精品绯色| 一区二区三区日韩欧美精品| 蜜臀av一区二区三区| 99国产欧美另类久久久精品| 欧美一区二区三区日韩视频| 国产精品久久久久aaaa| 美日韩一区二区三区| 色婷婷久久一区二区三区麻豆| 欧美va在线播放| 亚洲尤物视频在线| 成人永久看片免费视频天堂| 在线不卡中文字幕播放| 亚洲欧美在线高清| 韩国精品一区二区| 欧美日韩国产一级片| 国产精品视频观看| 精品影视av免费| 在线看不卡av| 中文字幕一区二区三区四区| 激情五月播播久久久精品| 欧美精品自拍偷拍| 亚洲视频免费观看| 国产.欧美.日韩| 精品久久久网站| 日韩精品一卡二卡三卡四卡无卡| 91女人视频在线观看| 久久精品免费在线观看| 蜜臀av性久久久久av蜜臀妖精| 在线观看日产精品| 亚洲久本草在线中文字幕| 成人白浆超碰人人人人| 欧美精品一区二区三| 蜜臀va亚洲va欧美va天堂 | 色欧美片视频在线观看在线视频| 久久久亚洲精华液精华液精华液| 美女看a上一区| 日韩一区二区三区av| 香蕉影视欧美成人| 欧美日韩一区不卡| 亚洲午夜久久久久中文字幕久| 91免费版在线| 亚洲免费资源在线播放| 99re热这里只有精品视频| 亚洲天堂久久久久久久| 成人av综合一区|