Hallo,
ich steh grad auf der Leitung.
Ich lese mit folgenden Code die ersten 2 Bytes einer Datei (in diesem Falle von Bilddateien) aus
und prüfe somit um welches Format (BMP, JPG,PNG) es ist.
Nun sind aber die 2 Bytes im Word gegenüber der Datei vertauscht (wenn man sich die Datei mit
einem Hex-Editor anschaut).
Wie kann ich ganz einfach die zwei Bytes im Buffer drehen?
Oder anders gefragt, wie könnte man die ersten 2 Bytes "richtig" auslesen?
Delphi-Quellcode:
var
FileHandle: Integer;
Buffer : Word;
begin
FileHandle := FileOpen(Picture, fmOpenRead);
FileSeek(FileHandle, 0, 0);
FileRead(FileHandle, Buffer, 2);
FileClose(FileHandle);
case Buffer of
$4D42: Result := pw_BMP;
$D8FF: Result := pw_JPG;
$5089: Result := pw_PNG;
else
Result := pw_None;
end;
mfg
Helmi
>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<