Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Auf Datumswechsel reagieren (https://www.delphipraxis.net/148852-auf-datumswechsel-reagieren.html)

p80286 10. Mär 2010 12:47

Re: Auf Datumswechsel reagieren
 
Ist ja alles sehr interessant, aber wofür soll das überhaupt gut sein?
Abgesehen von einem Kalender/Uhr-Simulator kann ich mir (mit meiner eingeschränkten Phantasie) keine Anwendung für einen "immidiateDatechange" vorstellen. Naja das KalifornischeE-Netz am Freitag den 13. März um 0 Uhr herunter zu fahren ist auch etwas.

Gruß
K-H

s.h.a.r.k 10. Mär 2010 12:49

Re: Auf Datumswechsel reagieren
 
Was ist, wenn deine Anwendung abhängig von der Uhrzeit ist? Da kann es durchaus einige Dinge geben, wie z.B. ein automatisch angestoßenes Backup um 0 Uhr oder erzeugen eines Reports etc.

[edit] Oder lass es ein Kalender mit Erinnerungsfunktion sein.

p80286 10. Mär 2010 13:00

Re: Auf Datumswechsel reagieren
 
@s.h.a.r.k
für einen Backup ist das Datum ziemlich egal, wie Du schreibst um 0Uhr (kann ja auch 0.30Uhr oder was auch immer sein) da geht's "nur" um die Uhrzeit.

Und wenn es ein Kalender ist, dann hat er eben eine (Timergestütze) Schleife, die Uhrzeit und Datum abfragt, das ist ja auch seine Hauptaufgabe.

Da fällt mir ein, irgendwo hab ich mal was über einen "weckerinterrupt" oder "-message" oder was auch immer gelesen. Was macht eigentlich der eingebaute Scheduler? der pollt doch bestimmt nicht alle 20stel Sekunde die Uhrzeit und das Datum?

Gruß
K-H

Sherlock 10. Mär 2010 14:19

Re: Auf Datumswechsel reagieren
 
OK, dann hak ich mal kurz hier ein: Nur weil man die Timerabfrage jetzt pollen nennt, ist sie plötzlich gut? Warum ist überhaupt ein Timerevent pro (sagen wir mal) Sekunde böse? Ich versteh die Aufregung nicht: entwickelt Ihr ale Echtzeitsysteme, wo häufige Timerevents katastrophale Folgen haben können (davon abgesehen, daß Windows kein Echtzeit-OS ist)? Oder ist die Diskussion eher akademischer Natur?
In meiner Firma hatte es sich bereits zu Win 3.11 Zeiten eingebürgert, daß alle Applikationen die Uhrzeit in einer Statuszeile anzeigen. Diese wurde/wird einmal die Sekunde aktuaisiert...mit keinen sichtbaren folgen für das Programm, oder das restliche System. OK, wir haben keine Multimediaanwendunden oder Anlagensteuerungen, nur Dokumentationssysteme. Aber klärt mich doch trotzdem mal bitte auf, was so brutal an nem Timerintervall von zB 1000 ist.

:gruebel:

Sherlock

s.h.a.r.k 10. Mär 2010 14:45

Re: Auf Datumswechsel reagieren
 
An sich wahrscheinlich nichts, aber eine Callback-Routine wäre an manchen Stellen einfach etwas sauberer, was ich verstehe. Aber an der Stelle gibt es wahrlich zwei Parteien, die aufeinander prallen :wink: Selbst wenn es um String-Konkatenation geht ist das ja so. Ich vertrete ganz gerne die Ansicht, dass der Benutzer durchaus mal eine ein zwei Sekunden das Programm nicht bedienen können muss, wenn er denn weiß, was im Hintergrund geschieht.

Zudem erzeugt selbst ein Interval mit 200ms keine hohe Last, wenn keinerlei großartigen Berechnungen anstehen, da muss ich dir Recht geben.

BTW: Ich würde das Timerinterval sogar kleiner setzen, da TTimer ja nicht immer *genau* nach einer Sekunde triggert. Das beste Ergebnis sieht man an der Windows-Uhranzeige. Bei XP war es so, dass der Sekundenzeiger auch mal 1,3 Sekunden oder weniger als eine Sekunde gebraucht hat um umzuschalten :mrgreen:

Reinhard Kern 10. Mär 2010 17:05

Re: Auf Datumswechsel reagieren
 
Zitat:

Zitat von s.h.a.r.k
BTW: Ich würde das Timerinterval sogar kleiner setzen, da TTimer ja nicht immer *genau* nach einer Sekunde triggert. Das beste Ergebnis sieht man an der Windows-Uhranzeige. Bei XP war es so, dass der Sekundenzeiger auch mal 1,3 Sekunden oder weniger als eine Sekunde gebraucht hat um umzuschalten :mrgreen:

Hallo,

es gab menschliches Leben auch vor der Einführung von Funkuhren und Internet. Ich kenne zwar auch jemand, der körperlich leidet, wenn nicht alle Uhren in seinem Haushalt exakt die gleiche Zeit anzeigen und synchron umspringen, aber das ist keine Aufgabe für Softwarenentwickler und Administratoren, das ist eine Krankheit. Bei vernetzten technischen Systemen kann das anders sein, aber so arg viele gibt es da nicht.

Gruss Reinhard

Basilikum 10. Mär 2010 20:30

Re: Auf Datumswechsel reagieren
 
eine elegante Variante (ohne Polling) wäre ein separater Thread, der auf den Datumswechsel wartet und dann die entsprechende Aktion ausführt:
MSDN-Library durchsuchenCreateWaitableTimer
MSDN-Library durchsuchenSetWaitableTimer
MSDN-Library durchsuchenWaitForSingleObject

Valle 10. Mär 2010 21:21

Re: Auf Datumswechsel reagieren
 
Ähm... Also ich fürchte dafür ist der Overhead größer als bei einfachem Polling. :mrgreen: In gewisser Weise sicher eine elegante Lösung, aber in diesem einfachen Fall ist doch eher das KISS-Prinzip vorzuziehen.

Hier wird bestimmt wieder so ein Thread draus, bei dem jeder die Möglichkeit
mit möglichst größten Overhead für einen Datumswechsel-Callback postet. :stupid:

Liebe Grüße,
Valle

Jens Hartmann 10. Mär 2010 21:26

Re: Auf Datumswechsel reagieren
 
Also, ich weiß ja nicht,
aber ich brauche auch so eine Funktion. Ich versende zu einer vordefinierten Uhrzeit in einem vordefinierten Interval (z.B. täglich, nur Montags und Freitags etc.) je nach Anforderung eine Report E-Mail. Das ganze habe ich mit einem Timer aufgebaut und es funktioniert ohne Probleme.

Gruß Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr.
Seite 3 von 3     123   

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