Da ich mir die Text Datei im HEX Editor angesehen habe würde es also reichen am Anfang der Datei zu prüfen:
EF BB (BF) => UTF 8
FE FF, FF FE, 00 00 FE FF => auch nicht
ANSI (

)
Oder sehe ich das Falsch ?
Ich habe in meinem Programm schon einen Byte Check. Der prüft aber nur eine Stelle (zb. Offset: 0 EF). Könnte ich auch gleich Offset 0 EF BB prüfen ?
Delphi-Quellcode:
function checkpatchuneven(exefile: string;offset: Integer; svalue: string):string;
var
// p: string;
Ft: file;
tmp: byte;
begin
//showmessage('File to check: '+exefile);
//showmessage('Offset to check: '+offset);
//showmessage('Value to check: '+svalue);
Assignfile(Ft, exefile);
FileMode := 0; //Read Only
Reset(Ft, 1);
Seek(Ft, offset);
blockread(Ft, tmp, Sizeof(tmp)); //Temp is the result in decimal number and Sizeof is the just the size of the number.
closefile(Ft);
if IntToHex(tmp,2)<> svalue then
begin
//showmessage('Active');
Result := 'Activated';
end
else begin
//showmessage('Not Active');
Result := 'Not Activated';
end;
end;
Bernd