Die Dateiliste existiert bereits.
Erklärung:
Verzeichnis Quelle hat:
- Datei1
- Datei2
- Datei3
Verzeichnis Ziel (Festplatte im Netzwerk):
- Datei1
Datei2 und - Datei3 fehlen im Netzwerk also.
Jetzt wird durch die Quellliste iteriert:
von 0 bis Listenende-1 tue
- Wenn Quelle+DateiN neuer als Ziel+DateiN dann .... (IsFileANewerFileB)
Die Vergleichsfunktion:
Delphi-Quellcode:
function IsFileANewerFileB(aFileA, aFileB: string): Boolean;
var
bRes: Boolean;
begin
if (not FileExists(aFileB)) or (not FileExists(aFileA)) then
bRes := True
else
bRes := getFileLastModified(aFileA) > functions.getFileLastModified(aFileB);
Result := bRes;
end;
function getFileLastModified(const aFileName: string): TDateTime;
var
SR: TSearchRec;
begin
Result := 0;
FindFirst(aFileName, faAnyFile, SR);
Result := SR.TimeStamp;
end;
Und ich bin mir nicht sicher, was hier so extremst abbremst. Ich denke aber, es ist FileExists.
Denn wenn ich FileExists() weglasse und getFileLastModified auc, dann ist es superschnell.
Ich schätze mal, dass FindFirst intern auch irgendwie FileExists aufruft.