Einzelnen Beitrag anzeigen

Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

problem beim Dateien löschen

  Alt 11. Jul 2008, 13:39
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
Miniaturansicht angehängter Grafiken
dateien_101.jpg  
"... 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?"
  Mit Zitat antworten Zitat