AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

Ein Thema von NicoleWagner · begonnen am 24. Mai 2022 · letzter Beitrag vom 26. Mai 2022
 
NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#1

Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

  Alt 24. Mai 2022, 14:59
Hallo Leute,

mein Problem ist zweifellos schon zig-fach gelöst. Doch wo genau?
Ich brauche nichts als einen Wecker für 10 Minuten.

1) Es gibt einen "Startknopf", um den Countdown zu beginnen, dessen Methode hier drunter steht.
2) Und es gibt einen "Abbruch-Button", zu dem es noch gar keine Methode gibt.


Delphi-Quellcode:
// Ausführungsprogramm des Countdowns
procedure TForm_KalenderMain.Panel_CountdownClick(Sender: TObject);
Var Startzeit: TTime;
begin
  Startzeit:=DateTimePicker_Alarm;
.... * hier soll irgendwie abgefragt werden, ob seit der Startzeit bereits 10 Minuten vergangen sind. *
  Panel_Alarm.Color:=clGreen;
end;
Meine erste Frage ist die Funttion des Countdowns:
Wie löse ich den Countdown am Elegantesten?
Mit Sleep?
Oder indem ich jede Sekunde die Zeit neu abfrage?
Oder indem ich ....?

Das kann wohl jeder lösen. Irgendwie.
Der Profi hingegen weiß, wie es zu lösen geht, ohne sinnlos Ressourcen zu blockieren, indem ich ständig die Zeit prüfe.
Wofür ich hier danke.

Dann wird es trickreicher:
Es soll noch eine Button geben, der erlaubt, den Alarm abzubrechen.
Dieser Button wird in ein Click-Event führen.
Doch - was dann?
Ich könnte natürlich die Starzeit als globale Variable führen und sie einfach hochsetzen. Das sieht aber richtig hässlich aus vom Stil her.
Ich könnte eine globale Boolean Variable einführen, die den Alarm hält oder nicht. Allerdings müsste ich die neben der Zeit ständig abfrgen und das nur alle 1 Sekunden. Was eine hässliche Verzögerung darstellt.
Ich könnte ein Handle schreiben und gleich ins System greifen. Das sieht mir aber noch hässlicher aus.

Hat hier jemand 2 ELEGANTE Lösungen?
Mit bestem Dank im Voraus.

Nicole
  Mit Zitat antworten Zitat
 


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 13:27 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