![]() |
Timer + Gauge
seid gegrüßt! :hi:
ich möchte eine zeit einstellen, in der der timer, wenn er abläuft eine aktion ausführt. Bis er diese ausführt soll der Gauge Balken ablaufen - sozusagen ein countdown in form des gauge-balkens. wie kann ich das in zusamenhang mit dem timer realisieren, hab bisher keinen progress erzielen können :( edit: wenn jmd weiß wie ich das mit der progressbar lösen kann, die ist mir auch recht. |
Re: Timer + Gauge
Zitat:
Delphi-Quellcode:
.... .Timer1OnTimer(...);
var rest : TDateTime; sekunden : integer; begin rest := zielzeit-Now; sekunden := Round(rest*60.0*60.0*24.0); if Sekunden <= 0.0 then begin Timer1.Enabled := False; // und Aktion ! Execute('Format C:'); end else if sekunden < 10 then Timer1.Interval := 200; // es wird bald Ernst; also öftes nachschauen Gauge1.Position := sekunden; end; |
Re: Timer + Gauge
das verstehe ich net ganz und ich hab das bisher nicht zum laufen gebracht :?
|
Re: Timer + Gauge
Na das ist doch nicht so schwer: :stupid:
angenommen, du möchtest einen Countdown von 45 Minuten. Anstatt den Timer einmal nach 45 min feuern zu lassen, rechnest du erst einmal die Zielzeit aus:
Delphi-Quellcode:
Jetzt lässt du den Timer alle 2 Sekunden feuern und rechnest den Abstand
var
zielzeit : TDateTime; minuten : double; begin minuten := 45.0; // Zum Datentyp TDateTime muss man folgendes wissen: // TDateTime wird als Flieskommawert in einem Double gespeichert // 1 Tag entspricht dem Wert 1.0 // Beispiele // morgen := Now + 1.0; // morgen um die gleiche Uhrzeit // h1 := Now + 0.5; // ab jetzt in 12 Stunden (=0.5 Tage) zielzeit := Now + (45.0/60.0) / 24.0; end; in Sekunden bis zum Zieltermin aus.
Delphi-Quellcode:
Ist der Abstand <= 0 dann wird der Timer deaktiviert und deine Aktion kann stattfinden.
rest := zielzeit-Now;
sekunden := Round(rest*60.0*60.0*24.0); // 1 Tag hat 24 Stunden, 1 Std=60Min, 1 Min=60 sekunden Anderfalls wird nur die Position deiner Gauge Komponente verändert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz