Thema: Record to Hex

Einzelnen Beitrag anzeigen

tomkupitz

Registriert seit: 26. Jan 2011
320 Beiträge
 
Delphi 11 Alexandria
 
#1

Record to Hex

  Alt 8. Dez 2020, 14:59
Hallo,

ich habe

type
TBytes = array[0..16] of Byte;

TTest = packed record
a: Integer;
b: TBytes;
c: Integer;
end;

und konvertiere den Record in einen Hex-String:

function MemToHex(mem: Pointer; len: Integer): AnsiString;
var i: Integer;
pb: PByte;

begin
result:=''; pb:=mem;

for i:=0 to len-1 do
begin
result:=result+IntToHex(pb^, 2);
inc(pb);
end;
end;

...

begin
ZeroMemory(@t, sizeof(TTest));

t.a:=1;
t.c:=3;

s:=MemToHex(@t, sizeof(TTest));

...
end;

Der String sieht so aus (hier mal aufgeteilt):

01000000
0000000000000000000000000000000000000000
03000000

Habe ich einen Denkfehler? Müsste Zeile zwei hier nicht nur 34 Zeichen haben?

Danke und beste Grüße
  Mit Zitat antworten Zitat