www.pudn.com > gsm30.rar > frmDemo.pas


unit frmDemo; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
  StdCtrls, ExtCtrls, ComCtrls; 
 
type 
  TForm1 = class(TForm) 
    Panel1: TPanel; 
    GroupBox1: TGroupBox; 
    Button2: TButton; 
    ComboBox1: TComboBox; 
    Button3: TButton; 
    Label1: TLabel; 
    GroupBox2: TGroupBox; 
    Edit1: TEdit; 
    Edit2: TEdit; 
    Label2: TLabel; 
    Label3: TLabel; 
    Button1: TButton; 
    Memo1: TMemo; 
    StatusBar1: TStatusBar; 
    procedure Button1Click(Sender: TObject); 
    procedure Button2Click(Sender: TObject); 
    procedure FormCreate(Sender: TObject); 
    procedure FormDestroy(Sender: TObject); 
    procedure Button3Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  Form1: TForm1; 
 
implementation 
 
uses HRHGSMD; 
 
{$R *.DFM} 
Procedure DoReiceveText(phone,msg: PWideChar; Data:Pointer; nData: Integer); stdcall ; 
var 
  s1,s2 : WideString ; 
begin 
  s1 := phone ; 
  s2 := msg ; 
  Form1.Memo1.Lines.Add(Format('接收[%s]:%s',[s1,s2])); 
end; 
 
Procedure DoReiceveData(msg: PWideChar; Data:Pointer; nData: Integer); stdcall;   
var 
  s1,s2 : WideString ; 
begin 
//  s1 := phone ; 
  s2 := msg ; 
  Form1.Memo1.Lines.Add('状态信息:'+s2); 
end; 
 
procedure TForm1.Button1Click(Sender: TObject); 
var 
  s1,s2 : WideString ; 
begin 
  s1 := Trim(Edit1.Text) ; 
  s2 := Trim(Edit2.Text) ; 
  if Length(s1)<>11 then raise exception.create('接收手机号码不对!') ; 
  if s2='' then raise exception.create('发送内容不能为空!') ; 
   
  if SendSMSText(PWideChar(s1),PWideChar(s2))then 
  begin 
    Memo1.Lines.Add(Format('发送[%s]:%s',[s1,s2])); 
    ShowMessage('短消息发送成功!') 
  end 
  else 
    ShowMessage('短消息发送失败!') ; 
end; 
 
procedure TForm1.Button2Click(Sender: TObject); 
begin 
  if ComboBox1.ItemIndex=-1 then ShowMessage('请选择端口') ; 
 
  if GSMConnect(ComboBox1.ItemIndex+1) then ShowMessage('GSM连接成功!!') else ShowMessage('GSM连接失败!!') ; 
end; 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
  GSMStartUp ; 
  HookSMSText(DoReiceveText) ; 
  HookSMSNotify(DoReiceveData) ; 
end; 
 
procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  GSMCleanUp ; 
end; 
 
procedure TForm1.Button3Click(Sender: TObject); 
begin 
  GSMDisConnect ; 
end; 
 
end.