Thema: Delphi Bytes im Word drehen

Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Bytes im Word drehen

  Alt 24. Nov 2014, 15:59
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! <<
  Mit Zitat antworten Zitat