16,748
社区成员
发帖
与我相关
我的任务
分享
function StrToHexStr(const Str:string):string;
var i:Integer;
begin
for i:=1 to Length(Str) do
begin
if i=1 then
Result:= IntToHex(Ord(Str[1]), 2)
else Result:= Result+ #32+ IntToHex(Ord(Str[i]), 2);
end;
end;
//串口收数过程
procedure TwMain.CPortRxChar(Sender: TObject; Count: Integer);
var strGet: String;
begin
CPort.ReadStr(strGet, count);
memo1.Text:= StrToHexstr(strGet);
end;
//unit2.pas单元中定义:
//全局变量:
var DataGet: Array of Byte;
//然后定义过程:
procedure SaveData(const Data: Array of Byte);
var i: Integer;
begin
SetLength(DataGet, Length(Data));
for i:= 0 to Length(DataGet)-1 do
DataGet[i]:= Data[i];
end;
function Show(): String;
var i: Integer;
begin
for i:= 0 to Length(DataGet) do
begin
if i= 0 then
Result:= IntToHex(DataGet[0], 2)
else Result:= Result+ #32+ IntToHex(DataGet[i], 2);
end;
end;
//unit1.pas单元中定义,已引用uint2.pas
//串口收数过程
procedure TwMain.CPortRxChar(Sender: TObject; Count: Integer);
var
strGet: String;
i: Integer;
CommData: Array of Byte;
begin
CPort.ReadStr(strGet, count);
SetLength(CommData, Length(strGet));
for i:= 0 to Length(strGet)-1 do
CommData[i]:= Ord(strGet[i+1]);
SaveData(CommData);
memo1.Text:= Show();
end;