Autor Beitrag
Flamefire
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Mo 17.03.08 13:21 
Wie kann ich alle Dateien älter als ein paar Tage löschen?
Ich denke das geht nur über FindFirst usw. Aber wie prüfe ich da das Datum der Datei?
Es geht mir um das späteste Datum

Ich will praktisch eine Logfunktion machen, die mehrere Logs erstellt. Damit ich mir damit nicht die Platte zumülle, will ich bei jedem Programmstart (Mutiinstanz Anwendung) alle Logs älter als x Tage löschen. Das Problem noch dabei: Ein Log kann auch nur mal von Einem Tag sein, wärend ein anderer Log erstellt wurde wärend das programm mehrere Tage lief, und damit der Letzte Logeintrag im ExtremFall vom aktuellen Tag stammt, wobei die Datei vor 3 Tagen erstellt wurde.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 17.03.08 14:36 
Hallo,

schau mal hier. Indem du nach Dateien suchst, findest du auch das Datum der letzen Änderung heraus. Ich denke, das ist genau das, was du brauchst.

Grüße,
Yogu
Flamefire Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1207
Erhaltene Danke: 31

Win 10
Delphi 2009 Pro, C++ (Visual Studio)
BeitragVerfasst: Mo 17.03.08 14:48 
ok danke...
habs mir zusammen gesucht...
kannte das attribut von dem TSearchRec noch nicht

Edit: Wen es intressiert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.Button1Click(Sender: TObject);
var  Found     : integer;
     SearchRec : TSearchRec;
begin
 Found := FindFirst(ExtractFilePath(ParamStr(0))+'*.log', faAnyFile, SearchRec);
 while Found = 0 do
 begin
      listbox1.items.add(SearchRec.Name+' '+DateTimeToStr(FileDateToDateTime(SearchRec.Time))+' '+inttostr(Trunc(Now-FileDateToDateTime(SearchRec.Time))));
      If(Now-FileDateToDateTime(SearchRec.Time)>3then begin
        Listbox1.Items.Add('ALT!');
      end;
      Found := FindNext(SearchRec);
 end;
 FindClose(SearchRec);
end;