Autor Beitrag
ChrisCross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 124
Erhaltene Danke: 12

Windows 10 64 bit
Delphi XE6 Starter
BeitragVerfasst: Di 06.11.12 09:23 
Hallo,

Ich habe verschiedene Textdateien in einem Ordner. Z.B. 13.08.2012 und 12.11.2012. Wie kann ich mit Delphi Dateien aus einem Ordner löschen, die älter als ein Monat 2 Wochen sind?

Also die 13.08.2012 löschen und die 12.11.2012 im Ordner behalten.

Brauche ich eine If then Abfrage?

Christoph
WasWeißDennIch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 653
Erhaltene Danke: 160



BeitragVerfasst: Di 06.11.12 09:32 
Gehst Du nach dem Dateinamen oder dem Erstellungsdatum? Die Beschreibung klingt für mich nach Ersterem. Dann würde ich prinzipiell so vorgehen:
- Ordner nach Dateien durchsuchen (FindFirst)
- den Dateinamen parsen und in ein Datum umwandeln
- mittels den DateUtils-Routinen das ermittelte Datum mit dem heutigen vergleichen
- wenn Alterskriterium erfüllt, Datei löschen
- nächste Datei ermitteln (FindNext)
- wenn keine weiteren Dateien mehr vorhanden, Suche beenden (FindClose)

Du kannst auch zunächst den Ordner durchsuchen und die Dateinamen in einer Stringliste speichern. Stellenweise ist im Internet zu lesen, dass die Kombination von FindFirst/FindNext und Löschen von Dateien zu unerwarteten Ergebnissen geführt hat. Diese Erfahrung habe ich zwar noch nicht machen müssen, aber sicher ist sicher ;)

Für diesen Beitrag haben gedankt: ChrisCross
ChrisCross Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 124
Erhaltene Danke: 12

Windows 10 64 bit
Delphi XE6 Starter
BeitragVerfasst: Di 06.11.12 11:13 
Danke für die Anleitung,

ich werde es mal so probieren.

Christoph