📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, SPComm, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Comm1: TComm;
Button1: TButton;
Timer1: TTimer;
procedure ComInit;
//procedure CircleDetect;
procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ComFlag: integer;
address:integer;
implementation
{$R *.dfm}
procedure TForm1.ComInit;
begin
Comm1.StopComm;
Comm1.BaudRate:=2400;
Comm1.CommName:='Com2';
Comm1.ByteSize:=_8;
Comm1.StopBits:=_1;
Comm1.Parity:=None;
Comm1.StartComm;
ComFlag:=0;
end;
{procedure TForm1.CircleDetect;
var
i:integer;
begin
begin
if address=12 then
address:=1;
Comm1.WriteCommData(address,1);
sleep(50);
address:=address+1;
end;
end;}
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
type ss=array[1..50] of char;
var
str:^ss;
//viewaddress:char;
viewstring:string;
i:integer;
manstring:string;
manint:integer;
myTime1:Ttime;
myTime2:Ttime;
shoot,target:string;
begin
Timer1.Enabled:=false;
str:=Buffer;
{case ComFlag of
0:
begin
viewstring:='';
for i:=1 to BufferLength do
begin
viewstring:=viewstring+str[i];
end;
if viewstring='a' then
Comm1.WriteCommData(char($ee),1);
ComFlag:=1;
end;
1:
begin}
viewstring:='';
manstring:='';
for i:=1 to 3 do
begin
manstring:=manstring+str[i];
end;
manint:=StrtoInt(manstring);
for i:=4 to 9 do
begin
viewstring:=viewstring+str[i];
if (i=5) or (i=7) then
viewstring:=viewstring+':';
end;
Edit2.Text:='起始时间是:'+viewstring;
myTime1:=StrtoTime(viewstring);
viewstring:='';
for i:=10 to 15 do
begin
viewstring:=viewstring+str[i];
if (i=11) or (i=13) then
viewstring:=viewstring+':';
end;
Edit3.Text:='结束时间是:'+viewstring;
myTime2:=StrtoTime(viewstring);
for i:=16 to 18 do
begin
shoot:=shoot+str[i];
end;
Edit4.Text:='发射次数:'+shoot;
for i:=19 to 21 do
begin
target:=target+str[i];
end;
Edit5.Text:='命中次数:'+target;
Timer1.Enabled:=true;
// end;
{2:
begin
viewstring:='';
for i:=1 to BufferLength do
begin
viewstring:=viewstring+str[i];
if (i=2) or (i=4) then
viewstring:=viewstring+'-';
end;
Edit3.Text:='得到的时间是:'+viewstring;
//myDate:=StrtoDate(viewstring);
ComFlag:=3;
end; }
//end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ComInit;
Timer1.Interval:=200;
Timer1.Enabled:=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Comm1.WriteCommData(char($ee),1);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Timer1.Enabled:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -