AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Datumswechsel reagieren

Ein Thema von maximus Caesar · begonnen am 9. Mär 2010 · letzter Beitrag vom 10. Mär 2010
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#1

Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 20:21
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 20:33
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 20:35
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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 20:36
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.

Timer.Interval

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:
      SendEMailTimer1.Interval := MilliSecondsBetween(frac(StrToTime(TimeNow)),
        frac(StrToTime(TimeSend)));
initialisieren.


Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#5

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 20:44
Zitat von Luckie:
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.
Weil man Polling wenn möglich vermeiden sollte. Und vor allem wenn es ja eventuell (Und das ist seine Frage) eine Möglichkeit gibt, ein Callback oder Ähnliches bereitzustellen. Da muss man nicht gleich abfällig werden. Ich finde es gut, wenn sich jemand Gedanken darum macht, auf unschöne Programmier-Methoden zu verzichten. Dass es um das Polling dabei leider nicht drumrum kommt, konnte er ja nicht wissen.

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
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 20:46
Das ist ja auch in Ordnung. Was mich nur stört ist, dass so was immer ohne Begründung da steht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 21:00
Zitat von Valle:
Ich würde in diesem Fall eher zum Polling als zu einem u.U. sehr hohen Timer-Intervall raten.
Da stimme ich Dir natürlich zu. Je nach Genauigkeit des Interval, ist eine Polling aufjedenfall besser. Allerdings natürlich auch aufwendiger.

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
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 22:06
Zitat von Luckie:
Das ist ja auch in Ordnung. Was mich nur stört ist, dass so was immer ohne Begründung da steht.
Jup, hätt ich dazu schreiben sollen.
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!
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#9

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 22:11
Zitat von maximus Caesar:
Gibts denn eine Quelle zu dem "Polling", finde leider nichts.
Polling bedeutet, eine bestimmte Information in regelmäßigen Abstand abzufragen. Wenn du alle 3 Minuten schaust, ob sich das Datum geändert hat oder ob du eine neue E-Mail bekommen hast, dann ist das Polling. Wenn du per SMS über eine E-Mail informiert wirst, oder ein Callback für den Datumswechsel registrierst, dann ist das kein Polling.

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
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Auf Datumswechsel reagieren

  Alt 9. Mär 2010, 22:14
Danke!
Kannte dafür nur den Begriff noch nicht
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz