Zitat:
Nja, wenn es langsam ist, dann würde ich wenigstens die Dateiliste sortieren und Dateien im gleichen Verziechnis auch mit dem gleichen FindFirst+FindNext suchen.
Nicht das Suchen der Dateien ist das Problem. Dafür habe ich eine andere Funktion - von Luckie.
Das Problem ist eher, dass der Datums-Vergleich von 10.000 Dateien über das Netzwerk komischerweise solange dauert.
Zu den Handles: ich benutze mittlerweile folgende Anpassung:
Delphi-Quellcode:
function FileTimeToDateTime(FileTime: TFileTime): TDateTime;
var
ModifiedTime: TFileTime;
SystemTime: TSystemTime;
begin
Result := 0;
if (FileTime.dwLowDateTime = 0) and (FileTime.dwHighDateTime = 0) then
Exit;
try
FileTimeToLocalFileTime(FileTime, ModifiedTime);
FileTimeToSystemTime(ModifiedTime, SystemTime);
Result := SystemTimeToDateTime(SystemTime);
except
Result := Now; // Something to return in case of error
end;
end;
function getFileLastModified(const aFileName: string): TDateTime;
begin
Result := FileTimeToDateTime(JclFileUtils.GetFileLastWrite(aFileName));
end;