![]() |
Auf Datumswechsel reagieren
Hallo zusammen.
Ich schirebe gerade ein Programm das auf den Datumswechsel reagieren soll (Also wenn sich das Datum ändert, während das Programm läuft). Bin schon den halben Tag auf der Suche nach einer Lösung und habe bis jetzt nichts gefunden, außer WM_TIMECHANGE das aber nichts bringt, da hier nur ein manueller Wechsel berücksichtigt ist. Kann mir jemand helfen? Achja, Timer sollte es nicht sein... MfG |
Re: Auf Datumswechsel reagieren
Herrlich so was liebe ich. Warum schließt du die einfachste Lösung aus? Gibt es dafür einen Grund? Ohne dass dein Programm regelmäßig das Datum überprüft , wirst du einen Datumswechseln nicht mitbekommen.
|
Re: Auf Datumswechsel reagieren
Guten Abend,
was spricht gegen einen Timer? Das Intervall ist anpassbar - so kannst Du erst in einem großen Intervall prüfen ob eine Datumswechsel ansteht (Uhrzeit) und dann das Intervall entsprechend verkleinern. Oder das Intervall gleich auf die Differenz 24:00 - jetzige Uhrzeit stellen. Grüße Klaus |
Re: Auf Datumswechsel reagieren
Hallo,
aber wie willst Du es dann ohne Timer realisieren. Irgendeine Komponente muss dir ja die arbeit abnehmen und prüfen ob das Datum noch aktuell ist. Wenn Du es beim Programmstart durchführen willst, dann könntest Du das ja über den Timer.Interval lösen. In etwa so könnte es dann gehen. ![]() Du legst beim Start den Interval bis zum nächsten Datumswechsel (24:00:00 Uhr) fest. Dann im TimerOn Ereignis den Interval auf 24 Stunden später. Allerdings musst Du den Fehler im Timer berücksichtigen, der wird mit der Zeit aus dem Datumswechsel laufen. Daher vieleicht immer im TimerOn Ereignis neu mit
Delphi-Quellcode:
initialisieren.
SendEMailTimer1.Interval := MilliSecondsBetween(frac(StrToTime(TimeNow)),
frac(StrToTime(TimeSend))); Gruß Jens |
Re: Auf Datumswechsel reagieren
Zitat:
Edit:// Achja, um noch was Produktives beizutragen: Ich würde in diesem Fall eher zum Polling als zu einem u.U. sehr hohen Timer-Intervall raten. Ich weiß nicht, wie Windows die Timer intern behandelt, aber ich fürchte, dass die Differenz zum echten Datumswechsel teilweise sehr hoch werden kann. (z.B. wenn der Rechner mal kurz vor dem Absturz steht) Ansonsten stellt sich eben die Frage, wie genau du auf den Datumswechsel reagieren möchtest. :-) Liebe Grüße, Valle |
Re: Auf Datumswechsel reagieren
Das ist ja auch in Ordnung. Was mich nur stört ist, dass so was immer ohne Begründung da steht.
|
Re: Auf Datumswechsel reagieren
Zitat:
Und wenn es mir nicht auf die Sekunde genau ankommt, kann ich ja den Interval, kurz nach dem Datumswechsel neu berechnen lassen. Somit ist zumindestens gewährleistet, das ich nicht komplett aus dem Zyklus laufe. Und je nach Anwendung ist es ja auch egal, ob es 00:00:00 oder 00:00:35 ist, oder halt auch 00:01:12. Gruß Jens |
Re: Auf Datumswechsel reagieren
Zitat:
Gibts denn eine Quelle zu dem "Polling", finde leider nichts. Die Genauigkeit ist nicht so wichtig, mir kommts eher auf die Prozessor und Akku Belastung an. Und schonmal vielen Dank für die guten Antworten! |
Re: Auf Datumswechsel reagieren
Zitat:
Polling sollte man nach Möglichkeit vermeiden. Bei einfachen Sachen wie Datumswechsel ist das nicht weiter tragisch, aber beim zeitempfindlichen Anwendungen oder auch kostenintensiven Sachen (zB. E-Mail mit dem Handy holen) ist das schon wichtiger. Du hast ja offensichtlich schon aus dem Bauch heraus alles richtig machen wollen. :-) Liebe Grüße, Valle |
Re: Auf Datumswechsel reagieren
Danke!
Kannte dafür nur den Begriff noch nicht :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 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 by Thomas Breitkreuz