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

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

?? unitcode.pas

?? CMPP3移動短信平臺400條/S 穩定版
?? PAS
字號:
{
 時間:20030923
 目的:增加狀態報告保存;
      增加關鍵子過濾;
      增加群發短信息;
      增加手機圖片鈴聲的單獨的發送接口;
      接收短信接口;
      讀取二進制文件;
      接收狀態報告
      短信流量查詢
  實現函數:
      function FindSensitiveWord(const sMessage: string): boolean;
      procedure InsertCmppQuery(ServiceId: string);
      function GetSms(TimeOut: Integer; var OrgAddr_R: string; var UserData_R: string; var DestAddr_R: string): Integer;
      function SendSmsSingle(OrgAddr: string; DestAddr: string; Content: string; FeeType: string; FeeCode: string; UserFeeType: Byte; var ErrorCode: Integer): Integer;
      function SendSmsSingleBin(OrgAddr: string; DestAddr: string; Content: string; FeeType: string; FeeCode: string; UserFeeType: Byte; var ErrorCode: Integer): Integer;
      function SendSmsBatch(ServiceId: string; MsgFmt: integer; feetype, feecode: string; SrcTermID: string; DestTermIDFile: string; MsgFile: string; MsgIDFile: string; FeeUserType: char): integer;
      function ReadBinFile(filename: string): string;
      procedure GetBininfo(content: string; var pBininfo: TBininfo);
}

unit UnitCode;

interface
uses
  classes, sysutils, adodb;
type //二進制文件信息結構
  TBininfo = record
    filename: string;
    filecount: integer;
  end;
function FindSensitiveWord(const sMessage: string): boolean; //查找關鍵字
procedure InsertCmppQuery(ServiceId: string); //按業務查詢短信流量
function GetSms(TimeOut: Integer; var OrgAddr_R: string; var UserData_R: string; var DestAddr_R: string; var nIsReply: boolean): Integer;
function SendSmsSingle(OrgAddr: string; DestAddr: string; Content: string; FeeType: string; FeeCode: string; UserFeeType: Byte; var ErrorCode: Integer;
  ServiceID: string; Msg_Fmt: integer; TpPid: integer; TpUdhi: integer; nNeedReply: integer; var smsid: string): Integer;
function SendSmsBatch(ServiceId: string; MsgFmt: integer; feetype, feecode: string; SrcTermID: string; DestTermIDFile: string; MsgFile: string; MsgIDFile: string; FeeUserType: byte; nNeedReply: integer): integer;
function ReadBinFile(filename: string): string;
procedure GetBininfo(content: string; var pBininfo: TBininfo);

implementation

uses CMPP;

//查找敏感字

function FindSensitiveWord(const sMessage: string): boolean;
var
  slist: tstringlist;
  i: integer;
begin
  //false為不存在
  result := false;
  slist := tstringlist.Create;
  try
    ///snesitiveword.txt記錄有關鍵字的文本文件
    if fileexists('SensitiveWord.txt') then
    begin
      slist.LoadFromFile('SensitiveWord.txt');
      //如果裝載未成功,未檢查不發短信息
      if slist.Count = 0 then
      begin
        result := true;
        exit;
      end;
      //比較用戶信息是否存在關鍵字子串
      for i := 0 to slist.Count - 1 do
      begin
        if pos(uppercase(slist.Strings[i]), uppercase(sMessage)) <> 0 then
        begin
          result := true;
          exit;
        end;
      end;
    end;
  finally
    slist.Free;
  end;

end;


//查詢狀態分析報告

procedure InsertCmppQuery(ServiceId: string);
var
  rQueryResp: PQueryResp;
  Qry: TADOQuery;
begin
  Qry := tadoquery.Create(nil);
  GetMem(rQueryResp, sizeof(QueryResp));
  try
    if CMPPQuery(pchar(formatdatetime('yyyymmdd', now())), 0, pchar(serviceid), rQueryResp) = 0 then
    begin
      with Qry do
      begin
        ConnectionString := 'FILE NAME=newsms.udl';
        close;
        sql.Clear;
        sql.Text := 'delete from CmppQuery where serviceid=' + '''' + serviceid + '''';
        execsql;
        close;
        sql.Clear;
        sql.Text := 'insert into cmppquery(serviceid,nMT_TLMSG,nMT_TLusr,nMT_Scs,nMT_WT,nMT_FL,nMO_Scs,nMO_WT,nMO_FL)' +
          ' values(' + '''' + serviceid + '''' + ',' + inttostr(rQueryResp^.nMT_TLMSG) + ',' +
          inttostr(rQueryResp^.nMT_TLusr) + ',' +
          inttostr(rQueryResp^.nMT_Scs) + ',' +
          inttostr(rQueryResp^.nMT_WT) + ',' +
          inttostr(rQueryResp^.nMT_FL) + ',' +
          inttostr(rQueryResp^.nMO_Scs) + ',' +
          inttostr(rQueryResp^.nMO_WT) + ',' +
          inttostr(rQueryResp^.nMO_FL) + ')';
        execsql;
      end;
    end;
  finally
    freemem(rQueryResp);
    qry.Free;
  end;
end;

//獲得短信息

function GetSms(TimeOut: Integer; var OrgAddr_R: string; var UserData_R: string; var DestAddr_R: string; var nISReply: boolean): Integer;
var
  rDeliverResp: DeliverResp;
begin
  fillchar(rDeliverResp.sDestTermID, 21, 0);
  result := CMPPDeliver(Timeout, @rDeliverResp);
  if result <> 0 then
  begin
    exit;
  end
  else
  begin
    if rdeliverResp.nIsReply = 1 then //判斷是否為狀態報告
    begin
      nIsReply := true;
    end;
    UserData_R := Copy(rDeliverResp.sMsgContent, 1, rdeliverresp.nMsgLen);
    OrgAddr_R := Copy(rdeliverResp.sSrcTermID, 1, 11);
    DestAddr_R := Copy(rDeliverResp.sDestTermID, 1, Pos(#0, rDeliverResp.sDestTermID) - 1);
  end;
end;

//發送信息

function SendSmsSingle(OrgAddr: string; DestAddr: string; Content: string; FeeType: string; FeeCode: string;
  UserFeeType: Byte; var ErrorCode: Integer; ServiceID: string; Msg_Fmt: integer;
  TpPid: integer; TpUdhi: integer; nNeedReply: integer; var smsid: string): Integer;
var
  sSMSID: PChar;
  FCS: PChar;
begin
  GetMem(sSMSID, 255);
  GetMem(FCS, 255);
  try
    Result := CMPPSendSingle(nNeedReply, 1, PChar(serviceid), Msg_Fmt, PChar(FeeType), PChar(FeeCode),
      PChar(''), PChar(''), PChar(OrgAddr), PChar(DestAddr),
      Length(Content), PChar(Content), sSMSID, ErrorCode,
      Chr(UserFeeType), FCS, Chr(TpPid), Chr(TpUdhi));
    smsid := sSmsid;
  finally
    FreeMem(sSMSID);
    FreeMem(FCS);
  end;
end;
//群發短信息

function SendSmsBatch(ServiceId: string; MsgFmt: integer; feetype, feecode: string; SrcTermID: string;
  DestTermIDFile: string; MsgFile: string; MsgIDFile: string; FeeUserType: byte; nNeedReply: integer): integer;
begin
  result := CMPPSendBatch(nNeedReply, 1, pchar(serviceid), MSG_FORMAT_ASCII, pchar(feetype), pchar(feecode), '', '', pchar(SrcTermId),
    pchar(desttermidfile), pchar(Msgfile), pchar(MsgIdFile), chr(FeeuserType), '', Chr(TPPID_ASCII), Chr(TPUDHI_ASCII));
end;
//讀取文件內容

function ReadBinFile(filename: string): string;
var
  fs: tfilestream;
  j: integer;
  tmpstring: string;
  buffer: array[0..512] of char;
begin
  fs := tfilestream.Create(filename, fmopenreadwrite);
  try
    fillchar(buffer, sizeof(buffer), 0);
    fs.Read(buffer, fs.Size);
    tmpstring := '';
    for j := 0 to fs.Size - 1 do
    begin
      tmpstring := tmpstring + buffer[j];
    end;
    result := tmpstring;
  finally
    fs.Free;
  end;
end;

//獲得文件信息

procedure GetBininfo(content: string; var pBininfo: TBininfo);
var
  i: integer;
begin
  delete(content, 1, 8);
  for i := 1 to length(content) do
  begin
    if (content[i] = '$') then
      break;
  end;
  pbininfo.filename := copy(content, 1, i - 1);
  pbininfo.filecount := strtoint(copy(content, i + 1, length(content)));
end;



end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕高清一区| 国产精品久久久久久久久免费丝袜 | 精品国内二区三区| 伊人一区二区三区| 国产一区二区美女诱惑| 欧美日韩一级二级| 国产精品少妇自拍| 亚洲成精国产精品女| 99久久夜色精品国产网站| 日韩欧美国产午夜精品| 亚洲午夜在线视频| 99视频精品免费视频| 26uuu亚洲婷婷狠狠天堂| 视频一区国产视频| 日本福利一区二区| 中文字幕永久在线不卡| 国产一区二区免费视频| 精品乱码亚洲一区二区不卡| 天堂成人免费av电影一区| 国产一本一道久久香蕉| 91麻豆精品91久久久久同性| 亚洲国产精品一区二区尤物区| 成人开心网精品视频| 久久综合久久久久88| 麻豆一区二区在线| 欧美一区二区国产| 日韩综合在线视频| 91精品欧美久久久久久动漫| 午夜在线电影亚洲一区| 欧美在线视频全部完| 亚洲精品成人在线| 一本到不卡免费一区二区| 成人免费一区二区三区视频| 成人午夜又粗又硬又大| 国产欧美日韩综合精品一区二区| 国产乱码精品一区二区三区忘忧草 | 日韩精品国产欧美| 欧美美女黄视频| 午夜精品视频在线观看| 在线免费视频一区二区| 一区二区三区影院| 国产欧美一区二区精品婷婷| 国产一区二区在线免费观看| 久久久综合网站| 国产精品一区二区三区乱码| 2023国产精品视频| 成人国产在线观看| 中文字幕欧美一| 91久久精品一区二区| 亚洲自拍偷拍图区| 在线观看91av| 国产精品69毛片高清亚洲| 欧美激情中文字幕一区二区| 91小视频在线| 日韩av中文字幕一区二区三区| 日韩三级高清在线| 成人福利视频网站| 亚洲成人免费视| 2023国产精品| 色爱区综合激月婷婷| 丝袜脚交一区二区| 国产性色一区二区| 欧美在线不卡一区| 久久99精品久久只有精品| 国产视频911| 欧美日韩在线播| 国产乱码字幕精品高清av| 亚洲精品成a人| 精品粉嫩aⅴ一区二区三区四区| aa级大片欧美| 九九视频精品免费| 亚洲色图色小说| 欧美一级专区免费大片| a美女胸又www黄视频久久| 午夜精品一区二区三区免费视频| 久久久精品欧美丰满| 色94色欧美sute亚洲线路二| 美女一区二区视频| 亚洲中国最大av网站| 国产午夜精品美女毛片视频| 777亚洲妇女| 91麻豆视频网站| 国产精品自拍网站| 日本在线不卡视频一二三区| 国产精品国产三级国产有无不卡| 日韩午夜激情免费电影| 91国内精品野花午夜精品| 国产一区二区在线观看免费| 亚洲成人第一页| 亚洲人成网站色在线观看| 精品国偷自产国产一区| 制服丝袜激情欧洲亚洲| 99re成人在线| 福利一区二区在线| 国内成人自拍视频| 久久福利视频一区二区| 亚洲第一在线综合网站| 亚洲欧美日韩人成在线播放| 国产精品天干天干在线综合| 精品乱人伦小说| 日韩欧美一卡二卡| 91精品国产综合久久久蜜臀粉嫩| 色综合一区二区三区| 成人中文字幕在线| 国产乱码精品一品二品| 久久精品国产秦先生| 日韩精品成人一区二区三区| 一区二区三区在线高清| 亚洲激情图片小说视频| 亚洲人成网站精品片在线观看| 国产精品人人做人人爽人人添| 久久综合丝袜日本网| 欧美精品一区二区三| 欧美刺激午夜性久久久久久久| 欧美日韩国产一区| 欧美最猛性xxxxx直播| 日本韩国精品在线| 欧美日韩久久一区二区| 欧美亚洲国产一区二区三区va| 91麻豆福利精品推荐| 色999日韩国产欧美一区二区| 欧美综合一区二区三区| 欧美日韩二区三区| 日韩视频国产视频| 欧美精品一区男女天堂| 久久久久久亚洲综合影院红桃| 国产女主播一区| 亚洲精选视频免费看| 亚洲综合免费观看高清完整版| 亚洲国产视频直播| 蜜臀av亚洲一区中文字幕| 激情综合网天天干| 国产精品99久久久久久久女警| 不卡大黄网站免费看| 91九色最新地址| 91精品欧美综合在线观看最新| 亚洲精品在线一区二区| 中文在线一区二区| 亚洲福利视频一区二区| 另类小说欧美激情| 成人免费视频一区二区| 在线观看日韩精品| 日韩欧美国产成人一区二区| 国产性色一区二区| 国产精品99久久久久久久vr | 99久久伊人久久99| 欧美日韩亚洲综合在线| 精品国产第一区二区三区观看体验| 国产午夜久久久久| 亚洲午夜精品网| 国产麻豆成人传媒免费观看| 色婷婷久久久久swag精品| 欧美巨大另类极品videosbest | 99精品久久99久久久久| 欧美嫩在线观看| 久久久99久久| 亚洲第一激情av| 懂色av中文字幕一区二区三区| 91国产免费看| 欧美激情综合五月色丁香小说| 亚洲亚洲精品在线观看| 国产91精品精华液一区二区三区| 欧美日韩一区二区三区高清| 久久久久久久电影| 日韩av电影天堂| 91美女在线看| 国产精品三级电影| 老司机午夜精品| 欧美亚洲综合一区| 久久免费电影网| 日韩和欧美的一区| 在线一区二区三区做爰视频网站| 337p粉嫩大胆噜噜噜噜噜91av | 国产精品久久综合| 精品一区二区三区影院在线午夜 | bt7086福利一区国产| 欧美精品一区二区三区一线天视频 | 欧美午夜理伦三级在线观看| 26uuu欧美日本| 麻豆精品一区二区av白丝在线| 色婷婷av一区二区三区大白胸| 国产日韩欧美精品电影三级在线| 午夜精品一区二区三区电影天堂| 国产精品久久网站| 在线一区二区三区| 亚洲码国产岛国毛片在线| 狠狠色狠狠色综合日日91app| 欧美日本韩国一区| 亚洲午夜私人影院| 欧美精品一区二区三区高清aⅴ| 亚州成人在线电影| 欧亚洲嫩模精品一区三区| 亚洲久草在线视频| 91免费观看视频| 一区二区在线电影| 一本色道a无线码一区v| 亚洲人123区| 色香蕉久久蜜桃| 亚洲欧美区自拍先锋| 91毛片在线观看|