Tienes razón, solo hace falta una pequeña corrección:
Código Delphi
[-]
var
i,j: Integer;
Str: String;
Buffer: TBuffer;
begin
Memo1.Clear;
with TStringList.Create do
try
LoadFromFile('d:\test.hex');
FillChar(Buffer,Sizeof(Buffer),#0);
for i:= 0 to Count - 1 do
Insertar(Strings[i],Buffer);
Str:= EmptyStr;
j:= Sizeof(Buffer) - 1;
while (Buffer[j] = 0) and (j > 0) do
dec(j);
for i:= 0 to j do
begin
Str:= Str + #32 + IntToHex(Buffer[i],2);
if ((i+1) mod 16 = 0) then
begin
Memo1.Lines.Add(Str);
Str:= EmptyStr;
end;
end;
if Str <> EmptyStr then
Memo1.Lines.Add(Str);
finally
Free;
end;
end;