Hallo,
ohne weitere Informationen muss der Lesebereich über die Adressen eingeschränkt werden:
Delphi-Quellcode:
procedure ExtractHLEL(fn: TFileName; start, stop: Cardinal; s: TStrings);
var
len, gap: Cardinal;
buf: String;
begin
s.Clear;
with TFileStream.Create(fn, fmOpenRead or fmShareDenyWrite) do
try
Position := start;
while Position < stop do
begin
Read(len, SizeOf(Cardinal));
SetLength(buf, len);
Read(buf[1], len);
s.Add(buf);
gap := (4 - Position mod 4) mod 4; // dword aligned ?
Position := Position + gap;
end;
finally
Free;
end;
end;
Getippt und nicht getestet.
Grüße vom marabu