Ich schließe mich lxo da voll und ganz an.
Dateigröße prüfen, wenn gleich dann einen Hash/Crc Wert beider Dateien vergleichen.
Dabei ist es völlig egal ob es Text oder Binär Inhalt ist.
Delphi-Quellcode:
uses
WinApi.Windows, System.Hash;
// um Dateigrößen >4GB zu ermitteln
function GetFileSize(
const aFilename:
String): Int64;
var
info: TWin32FileAttributeData;
begin
Result := -1;
if NOT GetFileAttributesEx(PWideChar(aFileName), GetFileExInfoStandard, @info)
then
Exit;
Result := Int64(info.nFileSizeLow)
or Int64(info.nFileSizeHigh
shl 32);
end;
// von lxo aus Delphi-Praxis
function GetHashMD5(
const Datei:
String):
String;
begin
Result := THashMD5.GetHashStringFromFile(Datei);
end;
//beispiel, nur hier per editor... ungetestet
function IsEqualFile(
const Datei1, Datei2:
String): Boolean;
begin
Result := ( (GetFileSize(Datei1) = GetFileSize(Datei2))
and (GetHashMD5(Datei1) = GetHashMD5(Datei2)) );
end;
//edit
code beispiel angefügt