Häufig wird lediglich aufgrund der Dateiendung entschieden, ob ein Windows Bitmap (BMP) wirklich ein BMP ist.
Wesentlich zuverlässiger ist dabei folgende Methode:
Delphi-Quellcode:
uses
SysUtils;
function IsBMP(const AFileName: String): Boolean;
var
FileHandle: Integer;
Buffer: Word;
begin
FileHandle := FileOpen(AFileName, fmOpenRead);
FileSeek(FileHandle, 0, 0);
FileRead(FileHandle, Buffer, 2);
FileClose(FileHandle);
Result := Buffer = $4D42;
end;
Jede BMP-Datei beginnt mit der
ASCII-Zeichenkette "BM" ( 42 4D ).
Daher braucht man lediglich diese 2 Byte auslesen um ein BMP zu identifizieren.
Zwar könnte man auch eine andere Datei erstellen, welche so beginnt, diese Methode ist jedoch zumindest zuverlässiger als lediglich die Dateiendung zu prüfen.
[edit=Chakotay1308]Titel angepasst. Mfg, Chakotay1308[/edit]