Guten Morgen Ralf,
dein syntaktisches Problem mit der Funktion FileDateToDateTime() hat mich veranlasst deinen Code mit Delphi2 nachzustellen. Im Anhang findest du das Projekt, welches bei mir problemlos kompiliert und auch das tut was es soll. Das Löschen simuliere ich dabei aber nur.
Deine Funktion FindFiles() ist irgendwie nicht sehr durchdacht und sieht aus, als hättest du sie irgendwo gefunden und verschlimmbessert. Ich habe sie neu geschrieben. Sie durchsucht nur das angegebene Verzeichnis, keine Unterverzeichnisse. Dadurch bleibt die Funktion klein und übersichtlich:
Delphi-Quellcode:
function FindFiles (
const fileExpr: String; // vollständiger Dateiname mit wildcards
const files: TStrings // Ergebnisliste mit vollst. Namen
): Boolean; // Erfolgreich bei true
var
sr: TSearchRec;
path: String;
begin
Result := true;
files.Clear;
files.BeginUpdate;
path := ExtractFilePath(fileExpr);
if FindFirst(fileExpr, faArchive, sr) = 0 then
begin
repeat
files.Add(path + sr.Name);
until FindNext(sr) <> 0;
FindClose(sr);
end else Result := false;
files.EndUpdate;
end;
Freundliche Grüße vom marabu