📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, SysUtils, Classes, Forms, Dialogs, StdCtrls, PHSCTRLLib_TLB, OleCtrls, Controls,
ComCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
MobileEdit: TEdit;
Label2: TLabel;
GroupBox2: TGroupBox;
Memo1: TMemo;
Label3: TLabel;
ContentEdit: TEdit;
Label4: TLabel;
RegCodeEdit: TEdit;
Button3: TButton;
StatusBar1: TStatusBar;
ComboBox1: TComboBox;
Label5: TLabel;
SerialEdit: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure RegCodeEditKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
SysWinNt:Boolean;
AppPath:String;
public
{ Public declarations }
PHSCTRL1:TPHSCTRL;
procedure PHSCTRL1NewSSM(Sender: TObject; const PhoneNo, msg: WideString);
procedure PHSCTRL1SendMsgFail(Sender: TObject; const telenum, msg: WideString);
procedure PHSCTRL1SendMsgSuccess(Sender: TObject; const telenum, msg: WideString);
end;
Function interface_reg(Regcode:string;PHSCTRL:TPHSCTRL):Boolean;stdcall;external 'SMS5.dll' name 'interface';
Function SMS5_Serial():PChar;stdcall;external 'SMS5.dll' name 'Serial';
var
Form1: TForm1;
implementation
{$R *.dfm}
{******************短信猫事件 Begin *********************}
procedure TForm1.PHSCTRL1NewSSM(Sender: TObject; const PhoneNo, msg: WideString);
begin
Memo1.Lines.Add('【新短信】');
Memo1.Lines.Add('来自:'+PhoneNo);
Memo1.Lines.Add('内容:'+msg);
Memo1.Lines.Add('---------------------------------');
{提示音psWhisle}If SysWinNt Then begin Windows.Beep (523,80); Windows.Beep (698,80); Windows.Beep (784,80); Windows.Beep (1046,80); end;
end;
procedure TForm1.PHSCTRL1SendMsgFail(Sender: TObject; const telenum, msg: WideString);
begin
Memo1.Lines.Add('【发送失败】');
Memo1.Lines.Add('接收号码:'+telenum);
Memo1.Lines.Add('短信内容:'+msg);
Memo1.Lines.Add('---------------------------------');
{提示音bError}If SysWinNt Then begin Windows.Beep (100,100); Windows.Beep (50,100); end;
end;
procedure TForm1.PHSCTRL1SendMsgSuccess(Sender: TObject; const telenum, msg: WideString);
begin
Memo1.Lines.Add('【发送成功】');
Memo1.Lines.Add('接收号码:'+telenum);
Memo1.Lines.Add('短信内容:'+msg);
Memo1.Lines.Add('---------------------------------');
{提示音psWhisle}If SysWinNt Then begin Windows.Beep (523,80); Windows.Beep (698,80); Windows.Beep (784,80); Windows.Beep (1046,80); end;
end;
{******************短信猫事件 End *********************}
procedure TForm1.FormCreate(Sender: TObject);
var
VersionInfo : TOSVersionInfo;
begin
AppPath:=ExtractFilePath(Application.EXEName); if copy(AppPath, length(AppPath), 1) <> '\' then AppPath := AppPath + '\';
VersionInfo.dwOSVersionInfoSize:=SizeOf (VersionInfo); GetVersionEx(VersionInfo); SysWinNt:=VersionInfo.dwPlatformID=VER_PLATFORM_WIN32_NT;
Winexec(Pchar('regsvr32.exe '+AppPath+'PHSCTRL.ocx -s'),0);
Button1.Enabled:=true;
Button2.Enabled:=false;
Button3.Enabled:=false;
MobileEdit.Text:='';
ContentEdit.Text:='';
SerialEdit.Text:=SMS5_Serial;
RegCodeEdit.Text:='';
PHSCTRL1 := TPHSCTRL.Create(Form1);
PHSCTRL1.Parent := Form1;
PHSCTRL1.Top := 15;
PHSCTRL1.Left := 432;
PHSCTRL1.height := 19;
PHSCTRL1.width := 63;
PHSCTRL1.CSQState := 0;
PHSCTRL1.RegState := 0;
PHSCTRL1.Tag := 10;
PHSCTRL1.Name := 'PHSCTRL1';
PHSCTRL1.OnNewSSM := PHSCTRL1NewSSM; //新短信到达
PHSCTRL1.OnSendMsgFail := PHSCTRL1SendMsgFail; //短信发送失败
PHSCTRL1.OnSendMsgSuccess := PHSCTRL1SendMsgSuccess;//短信发送成功
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
interface_reg(RegCodeEdit.Text,PHSCTRL1);
PHSCTRL1.StartDevice(ComboBox1.ItemIndex+1);
if PHSCTRL1.RegState=1 then
begin
{|} Button1.Enabled:=false;
{|} Button2.Enabled:=True;
{|} Button3.Enabled:=True;
{|} showmessage('设备起动成功.');
end else
begin
{|} Button1.Enabled:=True;
{|} Button2.Enabled:=False;
{|} Button3.Enabled:=False;
{|} showmessage('设备起动失败!');
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
PHSCTRL1.StopDevice;
PHSCTRL1.RegState:=0;
PHSCTRL1.CSQState:=0;
Button1.Enabled:=true;
Button2.Enabled:=false;
Button3.Enabled:=false;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if PHSCTRL1.RegState=0 then
begin
{|} Application.Messagebox('设备未启动!','提示',MB_OK);
{|} Exit;
end;
PHSCTRL1.SendShortMsg(MobileEdit.Text,ContentEdit.Text);
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Winexec(Pchar('regsvr32.exe '+AppPath+'PHSCTRL.ocx -u -s'),0);
end;
procedure TForm1.RegCodeEditKeyPress(Sender: TObject; var Key: Char);
begin
//showmessage(Tedit(Sender).Name);
//if not(key in ['0'..'9',#8]) then Key:=#0;
Key:=UpCase(Key); //将字符转换为大写
//UpperCase('asdfe'); //将给定的字符串转换为大写
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -