Hallo zusammen,
irgendwie versteh ich grad das Verhalten von TFileStream nicht.
Ich habe TFileStream schon oft benutzt und mir dabei nie die Daten in der Datei genau angeschaut. Schon zig-tausendmal in Dateien Daten reingeschrieben und wieder gelesen, alles ohne Probleme.
Ich habe eine Datei und wenn ich mir diese Datei mit UltraEdit angucke fängt die Datei zB folgendermassen an.
Zitat:
00 00 0A 7C 00 00 0A 7C 00 00 0A 7C OC 23 90 08
Ich lese diese 16 Bytes folgendermassen aus, da jeweils 4 Bytes eine Zahl ist, die ich benötige.
Delphi-Quellcode:
procedure TuWas();
var
LStream: TFileStream;
LArray: array of integer;
begin
...
...
//Länge des Arrays setzen
SetLength(LArray, 4);
...
LStream.Read(LArray[0], 16);
..erwartet hab ich in LArray[0] zB die Zahl 2684 was den ersten vier Bytes entsprechen würde (00 00 0A 7C).
...erhalten habe ich in LArray[0] 2081030144 was der Hex-Darstellung (7C 0A 00 00) entspricht
Also wurden die Daten byteweise verkehrt herum in mein Array gelesen.
Wieso das?
Ich glaub es ist zu spät und ich steh grad nur auf dem Schlauch.
Ich mach jetzt Feierabend und guck mir die Geschichte mal morgen nochmal an.
(Wahrscheinlich fällt es mir mein Denkfehler auf dem Heimweg auf -.-)
Danke fürs Lesen