function getlrc(adata: array of byte; ilen: integer): byte;
var
iloop : integer;
begin
result := 0;
for iloop := 0 to ilen - 1 do result := result + adata[iloop];
result := result xor $ff + 1;
end;
function gethexstring(adata: array of byte; ilen: integer): string;
var
iloop: integer;
begin
result := '';
for iloop := 0 to ilen - 1 do
result := result + inttohex(adata[iloop], 2);
result := result + inttohex(getlrc(adata, ilen), 2);
end;
procedure tform1.formcreate(sender: tobject);
var
adata: array[0..5] of byte;
begin
adata[0] := $01;
adata[1] := $02;
adata[2] := $00;
adata[3] := $00;
adata[4] := $00;
adata[5] := $01;
showmessage(gethexstring(adata, 6));
end;