📄 mainunit.pas
字号:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, OoMisc, AdPort;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
LabeledEdit1: TLabeledEdit;
Label1: TLabel;
LabeledEdit2: TLabeledEdit;
Button1: TButton;
ApdComPort1: TApdComPort;
Button2: TButton;
Memo1: TMemo;
procedure Button2Click(Sender: TObject);
procedure ApdComPort1PortClose(Sender: TObject);
procedure ApdComPort1PortOpen(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ApdComPort1TriggerAvail(CP: TObject; Count: Word);
procedure Button1Click(Sender: TObject);
procedure ApdComPort1Trigger(CP: TObject; Msg, TriggerHandle,
Data: Word);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
ApdComPort1.Open := false;
ApdComPort1.ComNumber := ComboBox1.ItemIndex + 1;
ApdComPort1.Open := True;
end;
procedure TForm1.ApdComPort1PortClose(Sender: TObject);
begin
Memo1.Lines.Add('PortClose')
end;
procedure TForm1.ApdComPort1PortOpen(Sender: TObject);
begin
Memo1.Lines.Add('PortOpen')
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ApdComPort1.Open then
ApdComPort1.Open := false;
end;
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var str : string;
n : integer;
begin
for n := 1 to count do
str := str + ApdComPort1.GetChar();
Memo1.Lines.Add(str);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if ApdComPort1.Open then
begin
Memo1.Lines.Add('AT');
ApdComPort1.Output := 'AT'+^M;
Memo1.Lines.Add('AT+CMGF=1');
ApdComPort1.Output := 'AT+CMGF=1'+^M;
Memo1.Lines.Add('AT+CSMP=17,167,0,0');
ApdComPort1.Output := 'AT+CSMP=17,167,0,0'+^M;
Memo1.Lines.Add('AT+CSCS=GSM');
ApdComPort1.Output := 'AT+CSCS=GSM'+^M;
Memo1.Lines.Add('AT+CMGS='+LabeledEdit1.Text);
ApdComPort1.Output := 'AT+CMGS='+LabeledEdit1.Text+^M;
Memo1.Lines.Add(LabeledEdit2.Text);
ApdComPort1.Output := LabeledEdit2.Text+^Z;
end;
end;
procedure TForm1.ApdComPort1Trigger(CP: TObject; Msg, TriggerHandle,
Data: Word);
begin
case Msg of
APW_TRIGGERDATA :
ApdComPort.PutString('myname');
APW_TRIGGERAVAIL :
{extract and display/process the data}
for I := 1 to Data do begin
C := ApdComPort.GetChar;
...process data
end;
APW_TRIGGERTIMER :
{timed out waiting for login prompt, handle error}
...
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -