Also falls die Datei nicht im Winows-Editor als
ANSI gespeichert ist, könnte man schauen ob vielleicht eine Codierung vorliegt (sind die ersten 2 Bytes, die die Codierung festlegen).
Ansonsten vieleicht die Datei in einem
ANSI-String laden und dort jedes Zeichen durchgehen ob es ein "normales" Zeichen ist, das es auf der Tastatur gibt. Habe durchs googlen die Funktion IsCharAlphaA gefunden (A für
ANSI-Zeichen). Vielleicht so?
Delphi-Quellcode:
function FileHasFextFormat(FileName : String) : Boolean;
var Text : AnsiString;
Datei : TFileStream;
I : Integer;
begin
Result := True;
Datei := TFileStream.Create(FileName,fmOpenRead); //Datei öffnen
try
SetLength(Text,Datei.Size);
Datei.Read(Text[1],Datei.Size);
for I := 1 to Length(Text) do
If (Text[I] <> ' ') and (Text[I] <> #$D) and (Text[I] <> #$A) then //#$D und #$A wegen Zeilenumbruch-Zeichen.
begin
if not IsCharAlphaNumericA(Text[I]) then
Result := False;
end;
finally
Datei.free;
end;
end;
Hab grad slebst getestet an einer Datei. Sie enthielt ein '=' und dabei gibt IsCharAlphaNumericA False zurück. Aber vielleicht ist das noch ein Ansatz.
EDIT:Verdammt waren 3 Leute schneller xD
Gruß
NickelM