Delphi-Quellcode:
var
fsIN : TFileStream;
wHeader : Word;
Daten : WideString; // <====
begin
SetLength(Daten, 30);
fsIN := TFileStream.Create('D:\temp\meineBinärdatei.xyz', fmOpenRead);
try
fsIN.Seek(28, soFromBeginning);
fsIN.Read(@Daten[1], Length(Daten) * sizeof(Widechar));
ShowMessage(Daten);
finally
FreeAndNil(fsIN);
end;
end;
Gausi hat natürlich recht; man muss Byte-Reihenfolge beachten.
Sollte diese Reihenfolge nicht zum Intel-Format passen, dann verwendet man einfach folgende
Procedure:
Delphi-Quellcode:
// Hilfsfunktion zum vertauschen der Byteorder in einem WideString
procedure SwapWideString(var ws:WideString);
var
i : Integer;
begin
for i := 1 to length(ws) do
ws[i] := WideChar(Swap(Ord(ws[i])));
end;