Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » FileAge, FindNext - Datum substrahieren.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.11.2004, 14:43 Uhr
vige1000



Hi, habe schon einige Zeit an auf der Suche nach folgendem Problem verbracht, ohne wesentlichen Erfolg.

Es sollen Dateien gelöscht werden, die ca. 60 Tage alt sind.

Mit FileAge bekomme ich 826175194,
und dieses mit FileDateToDateTime kriege ich 38260 raus,
anschliessend durch FormatDateTime kriege ich ein lesbares Datum (Erstellungsdatum) raus,
nun müsste ich zu diesem 2 Monate addieren, > Date() vergleichen und löschen.

Vielleicht könnte mir jemand dabei helfen. Habe schon einiges ausprobiert wie,

//GetFileTime();
//StrToDateTime();
//und andere

benutze den C++ Builder 5, d.h die DaysBetween(); ist noch nicht implementiert.

C++:
if (FindFirst(Unterverzeichnis + "*.pdf", faAnyFile, sr) == 0)
        {
            do
            {
                //Dateien, die über 8 Wochen alt sind, löschen!
                int zeit0 = FileAge(Unterverzeichnis + sr.Name);
                int zeit = FileDateToDateTime(zeit0);
//                String date = StrToDateTime(zeit);
                LB_datum->Items->Add(FormatDateTime("dd.mm.yyyy ",zeit));
                LB_datum->Items->Add(FormatDateTime("mmmm d, yyyy ",zeit0));
                LB_datum->Items->Add(Date());
                LB_dateienU->Items->Add(sr.Name);
            } while (FindNext(sr) == 0);
            FindClose(sr);
        }else{...  

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.11.2004, 10:55 Uhr
vige1000



Habe eine Lösung mit Hilfe von Joe_M. gefunden.

Danke Joe_M.




C++:
TDateTime MaxAge = TDateTime::CurrentDate();
        MaxAge.Val -= 60; //2 Monate Dateien vorhalten
        if (FindFirst(Unterverzeichnis + "*.pdf", faAnyFile, sr) == 0)
        {
            do
            {
                //Dateien, die über 60 Tage alt sind, löschen!
                int zeitDOS = FileAge(Unterverzeichnis + sr.Name);
                int zeitFile = FileDateToDateTime(zeitDOS);
                if(MaxAge.Val<zeitFile)
                {
                    LB_datum->Items->Add(FormatDateTime("dd.mm.yyyy ",zeitFile));
                    LB_datum->Items->Add(FileDateToDateTime(sr.Time));
                    LB_datum->Items->Add(FormatDateTime("dd.mm.yyyy ",MaxAge));
                    LB_datum->Items->Add(Date());
                    LB_dateienU->Items->Add(sr.Name);
                }else{...

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: