?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, TComm1, ExtCtrls;
type
TForm1 = class(TForm)
Comm1: TComm;
txtPhone: TEdit;
mReceive: TMemo;
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
optCOM: TRadioGroup;
BitBtn4: TBitBtn;
Label3: TLabel;
txtInput: TEdit;
BitBtn5: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure Comm1ReceiveData(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure txtInputKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Procedure TimeDelay(DT:DWORD);//延遲函數
implementation
{$R *.DFM}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Buf: String;
begin
//指定傳送的字符串
Buf := 'ATDT' + txtPhone.Text + Chr(13);
//送出指令
Comm1.OutputString(Buf);
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
var
Buf: String;
begin
Buf := '+++';
Comm1.OutputString(Buf);
TimeDelay(500);
//指定傳送的字符串
Buf := 'ATH0' + Chr(13);
//送出指令
Comm1.OutputString(Buf);
end;
procedure TForm1.Comm1ReceiveData(Sender: TObject);
begin
//將接收的數據顯示到Memo組件中
mReceive.Text := mReceive.Text + Comm1.Input ;
//設置Memo的光標至最下方
mReceive.SelStart := Length(mReceive.Text);
mReceive.SelLength := 0;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
mReceive.Text := ''; //清除Memo組件的內容
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Close; //結束程序的執行
end;
//以下是延遲函數,單位毫秒
Procedure TimeDelay(DT:DWORD);
var
TT:DWORD;
begin
//取得現在的Tick值
TT:=GetTickCount();
//計算Tick差值是否超過設置值
while GetTickCount()-TT<DT do
Application.ProcessMessages; //釋放控制權
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
Comm1.PortOpen := False;
if optCOM.ItemIndex =0 then
Comm1.CommPort := pnCOM1
else
Comm1.CommPort := pnCOM2;
//打開通信端口
Comm1.PortOpen := True;
//升高電壓
Comm1.DTREnabled := True;
Comm1.RTSEnabled := True;
TimeDelay(100);
Comm1.OutputString('ATS0=1'+ Chr(13));
end;
procedure TForm1.txtInputKeyPress(Sender: TObject; var Key: Char);
begin
//看看是否按下了ENTER
if Key=Chr(13) then
if Comm1.PortOpen then
Comm1.OutputString(txtInput.Text + Chr(13));
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -