Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Benachrichtungen (https://www.delphipraxis.net/191328-benachrichtungen.html)

krac 3. Jan 2017 12:15

Benachrichtungen
 
Hallo zusammen,

ich hätte eine frage bzgl. Benachrichtigungen. Wie genau stelle ich es an, dass in meinem Programm alle; z.B: 10Tage eine Benachrichtigung erhalte, dass ich etwas machen soll?

Bernhard Geyer 3. Jan 2017 12:17

AW: Benachrichtungen
 
Da gibt es mehrer Möglichkeiten.
Eine wäre z.B. die Windows Aufgabenplanung in der du dein Programm einträgst und alle 10 Tage es (mit passenden Startparametern) starten lässt.

krac 3. Jan 2017 12:23

AW: Benachrichtungen
 
Ja, ich glaube ich habe mich etwas falsch ausgedrückt.
Und zwar möchte ich eine Benachrichtigung ausgeben(Showmessage). Das Anfangsdatum lege ich fest, z.B: 1.1.17 und die Benachrichtigung soll dann am 11.1.17 erscheinen. Erscheint diese soll das letzte Datum genommen werden und von da an in 10 Tagen wieder eine Benachrichtigung erscheinen.

t.roller 3. Jan 2017 12:34

AW: Benachrichtungen
 
Delphi-Quellcode:
//uses DateUtils;
procedure TForm1.Button4Click(Sender: TObject);
var mydate : TDateTime;
begin
  myDate:= now;
// Add 10 days to this date
  myDate := IncDay(myDate, 10);
  ShowMessage('myDate + 10 days = '+DateToStr(myDate));
end;

jobo 3. Jan 2017 12:35

AW: Benachrichtungen
 
Nein, aber die Detailierung schadet nicht.
Der Vorschlag von Bernhard Geyer gilt trotzdem.
Das Betriebssystem sorgt fürs Timing und macht den Aufruf Deines Programmes, Du stellst die Meldung in Deinem Programm dar.

krac 3. Jan 2017 12:42

AW: Benachrichtungen
 
Danke für den Vorschlag :)

Billa 3. Jan 2017 12:46

AW: Benachrichtungen
 
Läuft dein Programm denn die ganze Zeit? In diesem Fall musst Du einfach nach dem Anzeigen der Nachricht das Datum (aus einer Variablen/Datenbankfeld/Ini-Datei o.ä.) "hochzählen", speichern und mittels Timer in regelmässigen Abständen nachgucken, ob der nächste Termin erreicht ist.

Wenn das aber nicht der Fall ist, würde ich Bernhards Vorschlag aufgreifen und mit Hilfe der Aufgabenplanung prüfen ob Dein Programm schon läuft, ggf. mit Parameter "Autostart" (o.ä.) starten, dann wie oben und sofort wieder beenden, wenn der Parameter gesetzt ist ...

hmm ... zu spät :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 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