?? unit1.~pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ADA_Comm;//ExtCtrls;
type
TForm1 = class(TForm)
Comm1: TComm;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Memo1: TMemo;
Timer1: TTimer;
Edit1: TEdit;
procedure Comm1RxChar(Sender: TObject; Count: Integer);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Comm1Break(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
var a:byte=0;
{$R *.dfm}
function StrToHex(AStr: string): string; //字符串TO十六進制
var
I : Integer;
//Tmp: string;
begin
Result := '';
for I := 1 to Length(AStr) do
begin
Result := Result + Format('%2x', [Byte(AStr[I])]);
end;
I := Pos(' ', Result);
While I <> 0 do
begin
//Result[I] :='0';
I := Pos(' ', Result);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
comm1.Close;
comm1.Open;
timer1.Enabled:= true;
button1.Enabled:=false;
//comm1.PurgeIn;
//comm1.PurgeOut;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
comm1.Close;
timer1.Enabled:= false;
button1.Enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
sendbuf:array[0..9] of byte;
i:integer ;
begin
for i:=0 to 3 do
begin
randomize;
sendbuf[i]:=random(100);
end;
comm1.Write(sendbuf,4);
memo1.Lines.Add(inttostr(sendbuf[1])+' '+inttostr(sendbuf[2])+' '+inttostr(sendbuf[3])+' '+inttostr(sendbuf[4]));
end;
{var
recbuf:array[1..1024]of string;
reclen:integer;
i:integer;
recstr:string;
begin
reclen:=comm1.ComponentCount ;
comm1.Read(recbuf,reclen);
for i:=1 to reclen do
begin
recstr:=recstr+strtohex(recbuf[i]);
end;
memo1.Lines.Add(recstr);
end;
}
procedure TForm1.Comm1RxChar(Sender: TObject; Count: Integer);
var
recbuf:array[1..1024]of byte;
//reclen:integer;
//i:integer;
//recstr:string;
begin
//reclen:=comm1.ComponentCount ;
comm1.Read(recbuf,4);
//for i:=1 to reclen do
//begin
//memo1.Lines.Add(inttostr(recbuf[1]));
edit1.Text:= inttostr(recbuf[1])+' '+inttostr(recbuf[2])+' '+inttostr(recbuf[3])+' '+inttostr(recbuf[4]);
//recstr:=recstr+strtohex(recbuf[i]);
//end;
// memo1.Lines.Add(recstr);
end;
//begin
//timer1.Enabled :=true;
//end;
procedure TForm1.Button3Click(Sender: TObject);
var
sendbuf:array[1..1024] of byte;
begin
//sendbuf[1]:=$01;
//sendbuf[2]:=$02;
//sendbuf[3]:=$03;
//sendbuf[4]:=$04;
sendbuf[1]:=a;
inc(a);
comm1.Write(sendbuf,1);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
comm1.Close;
comm1.Open;
button1.Enabled:=false;
button3.Enabled:=false;
end;
procedure TForm1.Comm1Break(Sender: TObject);
begin
showmessage('cuo le');
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -