⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umain.pas

📁 用于移动公司的派单
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  Gauge2.MaxValue:=MyQUery.RecordCount;
  Gauge2.Progress:=0;
  MyQUery.first;
  while not MyQUery.Eof do
   begin
    i_imsi:=trim(MyQuery.fieldbyname('imsi').asstring);
    label4.Caption:='正在关闭短信功能 IMSI:'+i_imsi;
    application.ProcessMessages;
    cancelT22(i_imsi);
    sleep(200);
    Gauge2.Progress:=Gauge2.Progress+1;
    MyQUery.next;
   end;

////////////    HLR62
  label4.Caption:='正在关闭短信功能 -HLR62';
  application.ProcessMessages;
  if IdTelnet1.Connected then
   IdTelnet1.Disconnect;
  IdTelnet1.Connect;
  sleep(600);
  IdTelnet1.Write(LOGINPWD+#13);
  LOGINHLR61;
//获取IMSI号
//Hlr61
  MyQuery.close;
  MyQUery.sql.clear;
  MyQUery.SQL.add('select * from T_msisdn where HLR=''HLR62'' and (not finshed)');
  MyQUery.open;
  Gauge2.MaxValue:=MyQUery.RecordCount;
  Gauge2.Progress:=0;
  MyQUery.first;
  while not MyQUery.Eof do
   begin
    i_imsi:=trim(MyQuery.fieldbyname('imsi').asstring);
    label4.Caption:='正在关闭短信功能 IMSI:'+i_imsi;
    application.ProcessMessages;
    cancelT22(i_imsi);
    sleep(200);
    Gauge2.Progress:=Gauge2.Progress+1;
    MyQUery.next;
   end;

  HMQU.close;
  HMQU.Open;
  HMQU.first;
end;
procedure Tamain.execimsi;
begin
  czlx:=1;
  label4.Caption:='正在查找号码的IMSI号 HLR61';
  application.ProcessMessages;
  if IdTelnet1.Connected then
   IdTelnet1.Disconnect;
  IdTelnet1.Connect;
  sleep(600);
  IdTelnet1.Write(LOGINPWD+#13);
  LOGINHLR61;
//获取IMSI号
//Hlr61
  MyQuery.close;
  MyQUery.sql.clear;
  MyQUery.SQL.add('select * from T_msisdn where HLR=''HLR61'' and (not finshed)');
  MyQUery.open;
  Gauge2.MaxValue:=MyQUery.RecordCount;
  Gauge2.Progress:=0;
  MyQUery.first;
  while not MyQUery.Eof do
   begin
    findlist(trim(MyQUery.fieldbyname('msisdn').asstring));
    application.ProcessMessages;
    sleep(200);
    Gauge2.Progress:=Gauge2.Progress+1;
    MyQUery.next;
   end;

////////////    HLR62
  label4.Caption:='正在查找号码的IMSI号 HLR62';
  application.ProcessMessages;
  if IdTelnet1.Connected then
   IdTelnet1.Disconnect;
  IdTelnet1.Connect;
  IdTelnet1.Write(LOGINPWD+#13);
  LOGINHLR62;
  MyQuery.close;
  MyQUery.sql.clear;
  MyQUery.SQL.add('select * from T_msisdn where HLR=''HLR62'' and (not finshed)');
  MyQUery.open;
  Gauge2.MaxValue:=MyQUery.RecordCount;
  Gauge2.Progress:=0;
  MyQUery.first;
  while not MyQUery.Eof do
   begin
    findlist(trim(MyQUery.fieldbyname('msisdn').asstring));
    application.ProcessMessages;
    sleep(200);
    Gauge2.Progress:=Gauge2.Progress+1;
    MyQUery.next;
   end;
  HMQU.close;
  HMQU.Open;
  HMQU.first;
end;
procedure Tamain.BitBtn3Click(Sender: TObject);
begin
if messagedlg('是否立即进行短信功能关闭操作?',mtinformation,[mbYes,mbNo],0)=mrYes then
 begin
  GroupBox3.Visible:=true;
  execimsi;
  execcanel;
  GroupBox3.Visible:=false;
  messagedlg('操作完成!',mtinformation,[mbOk],0);
 end; 
end;

procedure Tamain.BitBtn4Click(Sender: TObject);
begin
IdTelnet1.Disconnect;
end;

procedure Tamain.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
if IdTelnet1.Connected then
    IdTelnet1.SendCh(Key);    
  Key := #0;
end;

procedure Tamain.IdTelnet1DataAvailable(Sender: TIdTelnet;
  const Buffer: String);
const
  CR = #13;
  LF = #10;
var
  Start, Stop,YZ: Integer;
  imsi,msisdn:string;
begin
if czlx=1 then
 begin
  if Memo1.Lines.Count = 0 then Memo1.Lines.Add('');
  Start := 1;
  /////////
  yz:=POS('SUBSCRIBER INFORMATION',Buffer);
  if yz>0 then
   BufStr:=Buffer
  else
   BufStr:=BufStr+Buffer;
  yz:=POS('COMMAND EXECUTED',Buffer);
  if yz>0 then
   begin
    YZ:=POS('INTERNATIONAL MOBILE SUBSCRIBER IDENTITY',BufStr);
    if yz>0 then
      imsi:=trim(copy(BufStr,yz+45,15));
    yz:=pos('MOBILE STATION ISDN NUMBER',BufStr);
    if yz>0 then
     begin
      msisdn:=trim(copy(BufStr,yz+47,15));
      MyQuery.Edit;
      MyQUery.fieldbyname('imsi').asstring:=imsi;
      sleep(200);
     end;
   end;

  Stop := Pos(CR, Buffer);
  if Stop = 0 then
    Stop := Length(Buffer) + 1;
  while Start <= Length(Buffer) do
  begin
    Memo1.Lines.Strings[Memo1.Lines.Count - 1] := Memo1.Lines.Strings[Memo1.Lines.Count - 1] +Copy(Buffer, Start, Stop - Start);
    if Buffer[Stop] = CR then
    begin
      Memo1.Lines.Add('');
{$IFNDEF Linux}
      SendMessage(Memo1.Handle, WM_KEYDOWN, VK_UP, 1);
{$ENDIF}
    end;
    Start := Stop + 1;
    if Start > Length(Buffer) then
      Break;
    if Buffer[Start] = LF then
      Start := Start + 1;
    Stop := Start;
    while (Buffer[Stop] <> CR) and (Stop <= Length(Buffer)) do
      Stop := Stop + 1;
  end;
 end;
if czlx=2 then
 begin
  if Memo1.Lines.Count = 0 then Memo1.Lines.Add('');
  Start := 1;
  /////////
  yz:=POS('COMMAND EXECUTION FAILED',Buffer);
  if yz>0 then
   begin
    MyQuery.Edit;
    MyQUery.fieldbyname('node').asstring:='关闭失败';
    sleep(200);
   end
  else
   begin
    yz:=POS('PARAMETER',Buffer);
    if yz>0 then
     begin
      MyQuery.Edit;
      MyQUery.fieldbyname('node').asstring:='该号码不存在T22功能';
      sleep(200);
     end
    else
     begin
      MyQuery.Edit;
      MyQUery.fieldbyname('finsh_time').asdatetime:=now;
      MyQUery.fieldbyname('finshed').asboolean:=true;
      MyQUery.fieldbyname('node').asstring:='关闭成功';
      sleep(200);
     end;
   end;

  Stop := Pos(CR, Buffer);
  if Stop = 0 then
    Stop := Length(Buffer) + 1;
  while Start <= Length(Buffer) do
  begin
    Memo1.Lines.Strings[Memo1.Lines.Count - 1] := Memo1.Lines.Strings[Memo1.Lines.Count - 1] +Copy(Buffer, Start, Stop - Start);
    if Buffer[Stop] = CR then
    begin
      Memo1.Lines.Add('');
{$IFNDEF Linux}
      SendMessage(Memo1.Handle, WM_KEYDOWN, VK_UP, 1);
{$ENDIF}
    end;
    Start := Stop + 1;
    if Start > Length(Buffer) then
      Break;
    if Buffer[Start] = LF then
      Start := Start + 1;
    Stop := Start;
    while (Buffer[Stop] <> CR) and (Stop <= Length(Buffer)) do
      Stop := Stop + 1;
  end; 
 end;

end;

procedure Tamain.IdTelnet1Connect(Sender: TObject);
begin
  StatusBar1.SimpleText:='连接远程计算机!';
end;
procedure Tamain.loginHLR61;
begin
//  IdTelnet1.Write('Z;');
//  IdTelnet1.Write('Z;');
  IdTelnet1.Write('HLR61'+#13);
  SLEEP(300);
  IdTelnet1.Write(USERNAME+#13);
  SLEEP(100);
  IdTelnet1.Write(PWD+#13);
end;
procedure Tamain.loginHLR62;
begin
//  IdTelnet1.Write('Z;');
//  IdTelnet1.Write('Z;');
  IdTelnet1.Write('HLR62'+#13);
  SLEEP(300);
  IdTelnet1.Write(USERNAME+#13);
  SLEEP(100);
  IdTelnet1.Write(PWD+#13);
end;
procedure Tamain.IdTelnet1Connected(Sender: TObject);
begin
  StatusBar1.SimpleText:='远程计算机连接成功!';
end;

procedure Tamain.IdTelnet1Disconnected(Sender: TObject);
begin
  StatusBar1.SimpleText:='远程计算机已断开!';
end;
procedure Tamain.cancelT22(imsi:string);
begin
  memo1.clear;
  IdTelnet1.Write('ZMBD:IMSI='+IMSI+',BSERV=T22:;'+#13);
  sleep(600);
end;
procedure Tamain.findlist(msisdn:string);
begin
  memo1.clear;
  IdTelnet1.Write('ZMIO:MSISDN=86'+msisdn+';'+#13);
  sleep(600);
end;
procedure Tamain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  MyQuery.close;
  MyQUery.Free;
end;

procedure Tamain.N2Click(Sender: TObject);
var i_msisdn :string;
begin
  if inputQuery('查找手机号码','号码  ',i_msisdn) then
   begin
    HMQU.Locate('msisdn',i_msisdn,[loPartialKey])
   end;
end;

procedure Tamain.BitBtn5Click(Sender: TObject);
begin
  HMQu.First;
  extractfile('短信关闭号码清单',HMQU);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -