AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Benachrichtigung zu bestimmtem Datum/Uhrzeit
Thema durchsuchen
Ansicht
Themen-Optionen

Benachrichtigung zu bestimmtem Datum/Uhrzeit

Ein Thema von TurboMagic · begonnen am 27. Sep 2022 · letzter Beitrag vom 28. Sep 2022
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#1

Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 27. Sep 2022, 08:20
Hallo,

gibt's eigentlich in Windows ein API mittels dem man bei Erreichen eines
bestimmten Datums/Uhrzeit eine Art Event/Message auslösen lassen kann?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 27. Sep 2022, 08:37
Es gibt/gab den Task Scheduler in Windows, da kannst Dich ja eintragen, der sollte dich dann zu einer gewissen Uhrzeit starten
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 27. Sep 2022, 08:44
Mit der Hand:
https://www.computerbild.de/artikel/...-30075153.html

Per Code:
https://learn.microsoft.com/en-us/wi...ler-start-page
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#4

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 28. Sep 2022, 09:20
Danke für diese Links, nur scheint mir das noch nicht so ganz das wahre zu sein.
Ich will ja nicht eine EXE-Datei oder so starten sondern einfach nur einen Callback oder
eine Message bekommen...

Die Idee mit dem Taskplaner scheint mir eher "schwergewichtig" und nicht so gut in eine
laufende Anwendung zu integrieren. Ja, ich könnte eine EXE mit einem Parameter oder so
starten lassen welche mir dann auf irgend einem Weg mitteilt, dass das Event signalisiert
wurde, aber ich finde das halt etwas "schwergewichtig" für den Zweck.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 28. Sep 2022, 09:40
Danke für diese Links, nur scheint mir das noch nicht so ganz das wahre zu sein.
Wenn es nur um einen einzelnen Event geht: Einen Thread starten und mit Sleep lange genug schlafen lassen. Wenn er aufwacht, per Synchronise den Event aufrufen.

Oder alternativ für mehrere Einträge immer per Sleep die minimale Zeit warten, dann prüfen, ob es einen passenden Eintrag gibt, diesen ausführen und wieder Sleep aufrufen.

Ich frage mich gerade, ob es dafür nicht längst eine Bibliothek/Komponente gibt. So kompliziert ist das ja nicht, insbesondere, wenn es nicht auf hohe Genauigkeit ankommt.

Ich hatte vor vielen Jahren mal eine Scheduler für OS/2 (mit Virtual Pascal) geschrieben, der auf diese Weise arbeitete (aber dann ebenfalls externe Programme aufrief). Es war Shareware und wurde nach dem Feedback, das ich indirekt bekommen habe, durchaus mehrfach benutzt. Bezahlt hat niemand...
Thomas Mueller

Geändert von dummzeuch (28. Sep 2022 um 09:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#6

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 28. Sep 2022, 11:50
Oder ansatt Thread+Sleep einen Timer (mit der mindestzeit bis zum Nächsten) oder mehrere Timer.

Man kann aber auch die Aufgabenplanung von Windows dafür benutzen (wenn es mehr als nur ein paar Sekunden/Minuten sind)

Und natürlich kann die Notification-API auch sowas ... theoretisch, wenn die Delphi-Komponente vollständig implementiert und funktionsfähig wäre
https://www.delphipraxis.net/211470-...ckt-wurde.html
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Sep 2022 um 11:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 28. Sep 2022, 13:01
Oder den Timer jede 10 Sekunden (oder minute oder Sekunde, je nach gewünschter Auflösung) zuschlagen lassen und schauen, ob es schon soweit ist...
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#8

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 28. Sep 2022, 13:14
Hallo,

danke für die weiteren Ideen. Das mit dem Timer war mir auch schon klar, dass das geht.
Die Frage war halt auch, was am wenigsten verschwenderisch mit den HW/SW Ressourcen umgeht.

Evtl. ist das sogar der Timer, da dieser im eigenen Programm läuft oder der Thread/Task mit
einem lang genugen sleep.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#9

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 28. Sep 2022, 14:08
Timer nehmen und das Intervall auf die Zeit in Millisekunden setzen, die zwischen Now und dem ersten zu meldenden Termin liegt.

Da werden (fast) keine Resourcen verbraten und der "Auslösefehler" liegt im Bereich um eine Millisekunde herum.

Und das dann in 'ner Schleife immer zwischen dem aktuellen Now und dem nächsten Termin, bis keine Termine mehr da sind.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Benachrichtigung zu bestimmtem Datum/Uhrzeit

  Alt 28. Sep 2022, 14:53
WaitForSingleObject in einem Thread sollte auch recht ressourcenschonend sein. Das hat den Vorteil, dass man auch längere Zeit quasi schlafen kann, aber trotzdem zum Beenden des Threads ein entsprechendes Event signalisieren und den Wartezyklus so abbrechen kann.

Man sollte nur bedenken, dass es auch Ruhezustand und Standby gibt. Je nachdem wie man das ganze umsetzt, muss man das ggf. beachten.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:10 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