📄 ufrmtest.pas.~3~
字号:
unit uFrmTest;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, uComMsg;
type
TfrmTest = class(TForm)
GroupBox3: TGroupBox;
lstTest: TListBox;
Button3: TButton;
Button1: TButton;
Button4: TButton;
Memo1: TMemo;
Button5: TButton;
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmTest: TfrmTest;
implementation
uses
uFrmMain;
{$R *.dfm}
procedure TfrmTest.Button1Click(Sender: TObject);
var
bytSend:array of byte;
i:integer;
ssb2 :TBytes;
s:string;
begin
SetLength(bytSend,17);
bytSend[0] :=$AA;
bytSend[1] :=$02;
bytSend[2] :=$31;
bytSend[3] :=$33;
bytSend[4] :=$35;
bytSend[5] :=$35;
bytSend[6] :=$32;
bytSend[7] :=$34;
bytSend[8] :=$34;
bytSend[9] :=$33;
bytSend[10] :=$30;
bytSend[11] :=$37;
bytSend[12] :=$32;
bytSend[13] :=$6D;
bytSend[14] :=$4B;
bytSend[15] :=$8B;
bytSend[16] :=$D5;
if SendMsg(1,9600,bytSend) then begin
Button1.Caption :='T';
//收回应串
Delay(10000);
ssb2 :=nil;
bytRecB(1,9600,ssb2);//接收字节串(没有过滤)
Memo1.Lines.Add( IntToStr(length(ssb2)) );
s :='';
if length(ssb2)>7 then begin
for i:=1 to high(ssb2) do begin
s :=s+IntToHex(ssb2[i],2)+',';
end;
Memo1.Lines.Add( s );
Memo1.Lines.Add( ByteToStr(true,ssb2) ); //将一个字节数组为字符串
Memo1.Lines.Add( vartostr(bolReply(ssb2)) ); //是否存在回应
end;
end else begin
Button1.Caption :='F';
end;
end;
procedure TfrmTest.Button3Click(Sender: TObject);
var
ss,s:WideString;
i :integer;
n1 :Word;
byte :TBytes;
begin
ss:='测1试';
ss:='SEND OK';
byte :=AnsiToByte(ss);
for i:=0 to high(byte) do begin
Memo1.Lines.Add(inttohex(byte[i],2));
end;
end;
procedure TfrmTest.Button4Click(Sender: TObject);
var
bytSend:array of byte;
sPhone:string; //电话号码
ss :WideString;
tmpBytes:TBytes;
i:integer;
begin
sPhone :='13552443072';
ss :='汪平刚';
tmpBytes :=AnsiToByte(ss); //将一个Unico串变为字节数组
SetLength(bytSend,length(tmpBytes)+13);
bytSend[0] :=$AA;
bytSend[1] :=$02;
for i:=1 to length(sPhone) do begin
bytSend[i+1] :=ord( sPhone[i] );
end;
for i:=1 to length(tmpBytes) do begin
bytSend[i+12] :=ord( tmpBytes[i-1] );
end;
Memo1.Text :=vartoStr(SendMsg(1,9600,bytSend));
end;
procedure TfrmTest.Button5Click(Sender: TObject);
var
ssb2 :TBytes;
begin
SetLength(ssb2,7);
ssb2[0] :=$53;
ssb2[1] :=$45;
ssb2[2] :=$4E;
ssb2[3] :=$44;
ssb2[4] :=$20;
ssb2[5] :=$4F;
ssb2[6] :=$4B;
Memo1.Lines.Add( ByteToStr(false,ssb2) ); //将一个字节数组为字符串
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -