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

📄 unit1.pas

📁 关于USB的一段源码,大家可以试下,第一次上传
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,  ExtCtrls, ScktComp, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient,inifiles, sms_client;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Button2: TButton;
    Button3: TButton;
    LabeledEdit17: TLabeledEdit;
    GroupBox1: TGroupBox;
    Memo2: TMemo;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    GroupBox4: TGroupBox;
    LabeledEdit3: TLabeledEdit;
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    LabeledEdit4: TLabeledEdit;
    LabeledEdit5: TLabeledEdit;
    GroupBox5: TGroupBox;
    LabeledEdit6: TLabeledEdit;
    LabeledEdit7: TLabeledEdit;
    LabeledEdit9: TLabeledEdit;
    LabeledEdit10: TLabeledEdit;
    LabeledEdit11: TLabeledEdit;
    LabeledEdit12: TLabeledEdit;
    LabeledEdit13: TLabeledEdit;
    LabeledEdit14: TLabeledEdit;
    LabeledEdit8: TLabeledEdit;
    LabeledEdit15: TLabeledEdit;
    GroupBox6: TGroupBox;
    GroupBox7: TGroupBox;
    GroupBox8: TGroupBox;
    LabeledEdit16: TLabeledEdit;
    sms_send1: Tsms_send;
    procedure Button1Click(Sender: TObject);
    procedure sms_send1SGIP_DELIVER(Phone, Msg: String);
    procedure Button2Click(Sender: TObject);
    procedure sms_send1loginout;
    procedure sms_send1login(var User, Pass: String);
    procedure sms_send1loginerror(var Errormsg: String);
    procedure sms_send1sendsms(var Phone, MessageContent: String;
      var Sseqid: Integer);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure sms_send1returnerror(var Error: Integer);
    procedure sms_send1_sgip_report(var Phone, Statemsg: String;
      var Ssendseq: Integer; var State, ErrorCode: Byte);
    procedure sms_send1_sgip_deliver(var SPNumber, Phone, Msg: String;
      var Ssendseq: Integer);
    procedure sms_send1sendsmserror(var Errormsg: String);
    procedure sms_send1Afterlogin(var Msg: String);
    procedure sms_send1Aftersendsms(var Msg: String);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  seq:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
sms_send1.Host:=LabeledEdit1.Text;
sms_send1.Port:=strtoint(LabeledEdit2.Text);
sms_send1.LocalPort:=strtoint(LabeledEdit3.Text);
sms_send1.User:=LabeledEdit4.Text;
sms_send1.Pass:=LabeledEdit5.Text;
sms_send1.SPNumber:=LabeledEdit6.Text;
sms_send1.ChargeNumber:=LabeledEdit7.Text;
sms_send1.SNumber:=strtoint64(LabeledEdit8.Text);
sms_send1.CorpID:=LabeledEdit9.Text;
sms_send1.ServiceType:=LabeledEdit10.Text;
sms_send1.FeeType:=strtoint(LabeledEdit11.Text);
sms_send1.FeeValue:=LabeledEdit12.Text;
sms_send1.GivenValue:=LabeledEdit13.Text;
sms_send1.AgentFlag:=strtoint(LabeledEdit14.Text);
sms_send1.ExpireTime:=LabeledEdit15.Text;
sms_send1.LoginTimeout:=strtoint(LabeledEdit16.Text);
sms_send1.Registed:='ZWtnbWlva3Ftc291cXdzeXV7bXM=';
sms_send1.Open;
memo1.Lines.Add('网关服务器已开启...');
Button1.Enabled:=false;
Button3.Enabled:=true;
end;

procedure TForm1.sms_send1SGIP_DELIVER(Phone, Msg: String);
begin
memo1.Lines.Add('手机:'+Phone);
memo1.Lines.Add('信息:'+Msg);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//短信发送
seq:=seq+1;
sms_send1.Phone:=LabeledEdit17.Text; //手机号码
sms_send1.MessageContent:=memo2.Text;//短信内容
sms_send1.Seqid:=seq;
if not sms_send1.sendsms then //启动信息发送
memo1.Lines.Add('短信发送失败');
end;

procedure TForm1.sms_send1loginout; //当网关客户端登陆网关服务器超过预定的logintimeout则出发注销断开网关服务器
begin
memo1.Lines.Add('成功注销...');
end;

procedure TForm1.sms_send1login(var User, Pass: String);//网关客户端登陆触发
begin
memo1.Lines.Add('');
memo1.Lines.Add('用户名:'+User);
memo1.Lines.Add('密  码:'+pass);
end;

procedure TForm1.sms_send1loginerror(var Errormsg: String);//网关登陆发生错误触发
begin
memo1.Lines.Add('登陆发生错误:'+Errormsg);
end;

procedure TForm1.sms_send1sendsms(var Phone, MessageContent: String; //短信发送前触发
  var Sseqid: Integer);
begin
memo1.Lines.Add('');
memo1.Lines.Add('发送序列:'+inttostr(Sseqid)); //建议不要重复,网关服务器发送返回的 Sseqid
memo1.Lines.Add('发送号码:'+Phone);
memo1.Lines.Add('发送信息:['+MessageContent+']');
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
inifile:Tinifile;
begin
inifile:=Tinifile.Create(ExtractFilePath(application.ExeName)+'sms_test.ini');
inifile.WriteInteger('msg_option','seq',seq);
inifile.Destroy;

if sms_send1.Active then
sms_send1.Close;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if sms_send1.Active then
begin
sms_send1.Close;
memo1.Lines.Add('网关服务器已关闭...');
end;
Button3.Enabled:=false;
Button1.Enabled:=true;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
inifile:Tinifile;
begin
inifile:=Tinifile.Create(ExtractFilePath(application.ExeName)+'sms_test.ini');
LabeledEdit1 .Text:=inifile.ReadString('tcp_ip_option','host','192.168.25.17');
LabeledEdit2.Text:=inifile.ReadString('tcp_ip_option','port','8881');
LabeledEdit3.Text:=inifile.ReadString('tcp_ip_option','locat_port','8802');
LabeledEdit4.Text:=inifile.ReadString('tcp_ip_option','user','sms_user');
LabeledEdit5.Text:=inifile.ReadString('tcp_ip_option','pass','user_sms');
LabeledEdit6.Text:=inifile.ReadString('msg_option','SrcNumber','1176');
LabeledEdit7.Text:=inifile.ReadString('msg_option','ChargeNumber','000000000000000000000');
LabeledEdit8.Text:=inifile.ReadString('msg_option','SNumber','3020032288');
LabeledEdit9.Text:=inifile.ReadString('msg_option','CorpId','32288');
LabeledEdit10.Text:=inifile.ReadString('msg_option','ServiceType','a');
LabeledEdit11.Text:=inifile.ReadString('msg_option','FeeType','1');
LabeledEdit12.Text:=inifile.ReadString('msg_option','FeeValue','0');
LabeledEdit13.Text:=inifile.ReadString('msg_option','GivenValue','0');
LabeledEdit14.Text:=inifile.ReadString('msg_option','ExpireTime','0');
LabeledEdit16.Text:=inifile.ReadString('msg_option','logintimeout','10000');
seq:=inifile.ReadInteger('msg_option','seq',0);
end;

procedure TForm1.sms_send1returnerror(var Error: Integer);
begin
memo1.Lines.Add('短信中心返回错误:'+inttostr(Error));
end;

procedure TForm1.sms_send1_sgip_report(var Phone, Statemsg: String;
  var Ssendseq: Integer; var State, ErrorCode: Byte);//返回网关服务器发送是否成功的报告
begin
memo1.Lines.Add('手机号码:'+phone);
memo1.Lines.Add('发送状态:'+Statemsg+',返回代码:'+inttostr(State)+',错误代码:'+inttostr(ErrorCode));
memo1.Lines.Add('短信序列:'+inttostr(Ssendseq));
end;

procedure TForm1.sms_send1_sgip_deliver(var SPNumber, Phone, Msg: String;
  var Ssendseq: Integer);
begin
memo1.Lines.Add('');
memo1.Lines.Add('网关服务器端发回信息');
memo1.Lines.Add('SP号码:'+SPNumber);
memo1.Lines.Add('手机号码:'+phone);
memo1.Lines.Add('短信内容:'+Msg);
memo1.Lines.Add('短信序列:'+inttostr(Ssendseq));
end;

procedure TForm1.sms_send1sendsmserror(var Errormsg: String);
begin
memo1.Lines.Add('XXXXXXXXXXXXXXXXXXXXXXXXXXXX');
memo1.Lines.Add('短信发送发生错误:'+Errormsg);
end;

procedure TForm1.sms_send1Afterlogin(var Msg: String);
begin
memo1.Lines.Add('验证返回信息:'+Msg);
end;

procedure TForm1.sms_send1Aftersendsms(var Msg: String);
begin
memo1.Lines.Add('返回信息['+Msg+']');
end;

end.

⌨️ 快捷键说明

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