Tach Delphifreunde
Nach längerer Zeit habe ich mal wieder ne Frage, weil ich absolut ratlos bin und keinen Ansatz finde.
Ich habe in meheren Ordner eine Dateien Strucktur wie im Bild (siehe Anhang).
Die Ordner in den ich diese Strucktur habe lasse ich über eine ShellTreeView anzeigen.
Jetzt will ich alle Dateien löschen die älter sind als "Eingestellte" Tage. Das habe ich auch schon geschaft aber mit einer Lösung die nicht Optimal ist (aus einem anderen Post und angepasst).
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
Var SearchRec :TSearchRec;
begin if FindFirst(ShellTreeView2.Path + '\Stats\Saga\*.*', faAnyFile, SearchRec) = 0 then
begin
repeat
if ((SearchRec.Attr and faDirectory) <> FaDirectory) and (SearchRec.Name <>'.') and (SearchRec.Name <>'..') then
begin
if FileDateToDateTime(FileAge(ShellTreeView2.Path + '\Stats\Saga\' + SearchRec.Name)) < (Date - iTagevar) then
begin
DeleteFile(ShellTreeView2.Path + '\Stats\Saga\' + SearchRec.Name); // Delete File
end;
end;
until FindNext(SearchRec) <> 0;
end;
FindClose(SearchRec);
Timer1.Enabled:= False;
end;
Und hier meine schwirigkeiten
1. Es wird Immer nur im Ordner gelöscht den ich über die ShellTreeview ausgewählt habe.
2. Es werden auch Dateien nach der einegstellten Zeit gelöscht, die nicht gelöscht werden sollen. (z.b eine Notiz)
3. Es sollen nur Dateien gelöscht werden die nur das Datum + Dateiname haben
4. Ich möchte anhand des Datums aus dem Dateinamen diese Prüfung auf Alter der Datei vornehmen.
Hoffe es kann mir jemand helfen
Gruss Sascha
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...
Surft Ihr mit dem Taschenrechner?"