AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Timer + Gauge

Ein Thema von zecke · begonnen am 19. Apr 2004 · letzter Beitrag vom 20. Apr 2004
Antwort Antwort
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#1

Timer + Gauge

  Alt 19. Apr 2004, 16:59
seid gegrüßt!

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.
mfg zecke
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Timer + Gauge

  Alt 19. Apr 2004, 17:19
Zitat von oH LoRd:
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.
Du lässt den Timer alle 2 bis 60 Sekunden feuern und brechnest dann die Sekunden bis zum Zieltermin:

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;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Timer + Gauge

  Alt 19. Apr 2004, 17:37
das verstehe ich net ganz und ich hab das bisher nicht zum laufen gebracht
mfg zecke
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Timer + Gauge

  Alt 20. Apr 2004, 09:47
Na das ist doch nicht so schwer:
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:
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;
Jetzt lässt du den Timer alle 2 Sekunden feuern und rechnest den Abstand
in Sekunden bis zum Zieltermin aus.
Delphi-Quellcode:
   rest := zielzeit-Now;
   sekunden := Round(rest*60.0*60.0*24.0); // 1 Tag hat 24 Stunden, 1 Std=60Min, 1 Min=60 sekunden
Ist der Abstand <= 0 dann wird der Timer deaktiviert und deine Aktion kann stattfinden.
Anderfalls wird nur die Position deiner Gauge Komponente verändert.
Andreas
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:15 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