![]() |
Nach erreichen der Zeit --> löschen ?
hallo,
hab da einen code aufgeschnappt der bei mir aber nicht funzt ! er soll nach erreichen einer bestimmten zeit ein file löschen
Code:
was ist da falsch ??
procedure TForm1.Timer1Timer(Sender: TObject);
begin if TimeToStr(NOW) = '13:06' then begin deletefile('d:/aaa.txt'); end; end; mfg vader |
Re: Nach erreichen der Zeit --> löschen ?
Du muss
Stunden : Minuten : Sekunden angeben, nicht nur Stunden : Minuten |
Re: Nach erreichen der Zeit --> löschen ?
Hai Vader,
Du solltest auch unbedingt auf >= prüfen. Wenn der Timer im falschen Moment auslöst (1 ms nach deiner eingestellten Zeit) würde die Datei nie gelöscht werden. |
Re: Nach erreichen der Zeit --> löschen ?
Zitat:
|
Re: Nach erreichen der Zeit --> löschen ?
Zitat:
Zitat:
|
Re: Nach erreichen der Zeit --> löschen ?
Zitat:
Delphi-Quellcode:
So in der Art mal rumgefuddelt...
for i := 1 to 5 do
s := s + TimeToStr[i]; if s = '13:06' then ... //Also werden Stunden und Minuten überprüft |
Re: Nach erreichen der Zeit --> löschen ?
Er meinte, du sollst statt auf der einen Seite Millisekunden hinzuzufügen, sie auf der anderen Seite einfach wegnehmen.
gruss |
Re: Nach erreichen der Zeit --> löschen ?
Zitat:
damit wollte ich daruf hinweisen das er seinen String mit der Zeit in ein TDateTime umwandeln soll und dann mit >= prüft. Das Intervall ist schon wichtig. Angenommen er hat ein TimerIntervall von 5000 eingstellt würde dieser Code nur gehen wenn die if abfrage genau um 13:06:00 erfolgt.
Delphi-Quellcode:
So wäre es meiner Meinung nach besser:
procedure TForm1.Timer1Timer(Sender: TObject);
begin if TimeToStr(NOW) = '13:06:00' then //@Matze: nur die Minuten überprüfen, die letzten 3 Stellen des TimetoStr abschneiden deletefile('d:\aaa.txt'); //event. Backslash noch end;
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var stf : String; begin stf := ShortTimeFormat; stf := 'hh:mm:ss'; if (StrToTime('13:06:00') >= now) then begin // Mache etwas; end; ShortTimeFormat := stf; end; |
Re: Nach erreichen der Zeit --> löschen ?
achso war des gemeint... :roll:
@Sharky: Wenn's gelöscht ist, möchte deine Prozedur es aber bestimmt nochmal löschen und nochmal... ;) Nachtrag: Oder mit FileExists erst überprüfen. |
Re: Nach erreichen der Zeit --> löschen ?
Zitat:
|
Re: Nach erreichen der Zeit --> löschen ?
Wenn du auf Nummer sicher gehen willst, dann überprüfe es mit formatdatetime():
Delphi-Quellcode:
if formatdatetime('hh:mm',now)='13:06' then do
begin if fileexists('d:\aaa.txt') then deletefile('d:\aaa.txt'); end; |
Re: Nach erreichen der Zeit --> löschen ?
hallo,
danke für eure hilfe, hab das von markus getestet und es klappt wunderbar jetzt hätte ich noche eine frage wie würde der code ausschauen wenn ich jetzt noch ein datum auch noch möchte, also zb: 20.08.2004 12:10 mfg vader |
Re: Nach erreichen der Zeit --> löschen ?
einfach noch dein Datum mit DateToStr(Now) vergleichen.
|
Re: Nach erreichen der Zeit --> löschen ?
hallo,
kannst du mir einen code posten, hab keine ahnung wie ich diese beiden abfragen datum und zeit zusammen hängen soll ?? :oops: mfg vader |
Re: Nach erreichen der Zeit --> löschen ?
was ist bei der >= methode, wenn man 1ms vor mitternacht löschen will?
|
Re: Nach erreichen der Zeit --> löschen ?
Mit AND
Delphi-Quellcode:
if (formatdatetime('hh:mm',now)='13:06') and (DateToStr(Now) = '14.08.2004') then do
begin if fileexists('d:\aaa.txt') then deletefile('d:\aaa.txt'); end; |
Re: Nach erreichen der Zeit --> löschen ?
hallo,
herzlichen dank :P mfg vader |
Re: Nach erreichen der Zeit --> löschen ?
Geht auch mit formatdatetime(). Schau dir dazu mal die Delphi-Hilfe der Funktion an. Die Funktion hat mehrere Parameter...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz