Entwickler-Ecke
Sonstiges (Delphi) - save datei von rätsel löschen
bocky3 - Sa 23.04.05 01:12
Titel: save datei von rätsel löschen
ich hab ein rätsel erstellt.
man hat die möglichkeit seine ergebnisse zuspeichern, aber ich möchte dass, das prog die save-datei automaisch beim start nach ablauf von ca 30 tagen löscht.
die save.bocky (save datei) wird in "/bilder/save.bocky" gespeichert.
habt ihr ne idee?
bocky3 - Sa 23.04.05 14:39
dann frag ich ma anders:
gibt es ne möglichkeit das erstellungsdatum einer datei in einem delphiprog auszulesen?
und
gibt es einen befehl zum löschen von dateien?
das is das was ich bräuchte
Keldorn - Sa 23.04.05 14:42
da gibts diverse Möglichkeiten. Z.B. Fileage + filedatetodatetime und deletefile, dazu sagt die OH auch recht viel.
Mfg Frank
bocky3 - Sa 23.04.05 15:08
das deletefile funzt ganz gut.
ich hab aber grad nen prob mit dem laden
ich möchte gern, dass das prog überprüft ob eine save.bocky da is, wenn ja soll es deise laden, wenn nich soll es über showmessage ('keine datei vorhanden') bringen.
ich würd das ganze gerne mit ner if schleife machen wenn möglich.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| if then begin List:=TStringList.Create; List.LoadFromFile('bilder\save.bocky'); Edit1.Text:=List[0]; Edit2.Text:=List[1]; Edit3.Text:=List[2]; Edit4.Text:=List[3]; Edit5.Text:=List[4]; List.Free; end; else showmessage('keine datei vorhanden'); |
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt.
Gausi - Sa 23.04.05 15:13
bocky3 hat folgendes geschrieben: |
| ich würd das ganze gerne mit ner if schleife machen wenn möglich. |
Guckst du hier:
http://www.if-schleife.de
Ne, im Ernst: Du suchst den Befehl
FileExists(); Mehr dazu in der Delphi-Hilfe
bocky3 - Sa 23.04.05 15:50
also ich hab jetzt das versucht:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| if FileExists('bilder\save.bocky') then begin DOSDatum:=FileAge(Dateiname); WinDatum:=FileDateToDateTime(DOSDatum); if Windatum = > 30 then begin DeleteFile('bilder\save.bocky'); end end; |
ich weiß nich wie die funktion "FileDateToDateTime(DOSDatum)" das datum ausgibt bzw. wie ich es mit der frist von 30 tagen vergleichen soll.
mfg burn
Keldorn - Sa 23.04.05 15:52
gugg dir mal Tdatetime in der Hilfe an, da kommt du mit ganz wenig Mathe von alleine drauf.
bocky3 - Sa 23.04.05 16:19
tag/monat/jahr?
dann müsste:
if jetziges datum - entstehungsdatum = > 30 then
begin
DeleteFile('bilder\save.bocky');
end;
is das korrekt (nur in form des verständnisses)
bocky3 - So 24.04.05 00:39
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.BitBtn1Click(Sender: TObject); begin if FileExists('bilder\save.bocky') then begin DOSDatum:=FileAge(Dateiname); WinDatum:=FileDateToDateTime(DOSDatum);
if Now - WinDatum = 30 then begin DeleteFile('bilder\save.bocky'); end; if Now - WinDatum > 30 then begin DeleteFile('bilder\save.bocky'); end; |
es funzt nich so wie ich es mir erhofft hab...
ich kann es zwar kompelieren, aber sobald ich den button klicke: fehlermeldung.
muss ich das datum erst in nen string umwandeln?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!