AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Timer.Interval in Minuten ablaufend anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Timer.Interval in Minuten ablaufend anzeigen

Ein Thema von Kompon Ente · begonnen am 22. Jul 2005 · letzter Beitrag vom 23. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Kompon Ente
(Gast)

n/a Beiträge
 
#1

Timer.Interval in Minuten ablaufend anzeigen

  Alt 22. Jul 2005, 14:52
Hallo,

ich möchte, dass in einer Label.Caption die Minuten stehen wie lange es noch dauert, bis das OnTimer-Event ausgelöst wird.

Also, dass ich die Millisekunden * 60 nehmen muss weiß ich schon

Wie kann ich die Minuten ablaufend darstellen?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Timer.Interval in Minuten ablaufend anzeigen

  Alt 22. Jul 2005, 14:54
Indem du dein Timer-Intervall nicht af 10 min. stellst, sondern auf eine, und dann aber erst beim 10. mal etwas auslöst
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#3
  Alt 22. Jul 2005, 14:55


Hast du verstanden, was ich machen will?
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Timer.Interval in Minuten ablaufend anzeigen

  Alt 22. Jul 2005, 15:00
nimm lieber 2 timer. mit einem timermisst du die eigentliche zeit, mit dem 2. zeigst du die noch verbleibende zeit z.b. jede sekunde in dem label an. die zeit musst du dann eben über gettickcount oder so errechnen.

ach ja:
Zitat:
Also, dass ich die Millisekunden * 60 nehmen muss weiß ich schon Very Happy
wenn du minuten und nicht "Milliminuten" haben willst solltest du noch mit 1000 multiplizieren
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
shmia

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

Re: Timer.Interval in Minuten ablaufend anzeigen

  Alt 22. Jul 2005, 15:38
Hallo Kompon ente!!!

Hast du mein Demoprojekt Periodic Action heruntergeladen?????
Hast du das Projekt angeschaut ?
Also nochmals das Projekt mit RESTZEITANZEIGE.
Angehängte Dateien
Dateityp: zip periodicaction_210.zip (2,3 KB, 31x aufgerufen)
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6
  Alt 22. Jul 2005, 18:13
Zitat von Kompon Ente:


Hast du verstanden, was ich machen will?
Ja, ich denke schon.

Mein Verfahren - und bestimmt auch das von shmia - ist einfach, den Timeintervall bspw. auf eine Minute zu setzen, und eine globale Variable z.B. auf 10. Dann schreibst du in der OnTimer-Prozedur sowas wie
Delphi-Quellcode:
dec (Zaehler);
if zaehler = 0 then
begin
  Timer.Enabled := False;
  showmessage ('Tadaaaa - 10 min. sind um !!!');
end
else
  showmessage ('noch genau' + zaehler + ' MInuten bis zur großen Überrachung !!!');
so in etwa - da sind natürlich noch Fehler drin ...

Und diese Methode ist viiiiel besser als ein zweiter Timer
  Mit Zitat antworten Zitat
Kidix

Registriert seit: 14. Jan 2005
315 Beiträge
 
Delphi 4 Standard
 
#7

Re: Timer.Interval in Minuten ablaufend anzeigen

  Alt 22. Jul 2005, 18:29
2 Edit Komponenten

- ins erste Edit 10 reinschreiben
- ins zweite 0 reinschreiben

1 Timer Komponente

- Interval auf 1000
- Active := True

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
h,m : integer;
begin

 h := strtoint(Edit1.Text);
 m := strtoint(Edit2.Text);
    if m = 0 then
    begin
    dec(h);
        if (h < 0) and (m = 0) then
        begin
          
           Timer1.Enabled := false;
           ShowMEssage('Ende');
          
        end;
     m := 60;
     end;
 dec(m);
 Edit1.Text := inttostr(h);
 Edit2.Text := inttostr(m);
end;
Code müsste stimmen, überprüft das aber lieber nochmal!
  Mit Zitat antworten Zitat
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#8
  Alt 22. Jul 2005, 18:57
Zitat von jfheins:
Und diese Methode ist viiiiel besser als ein zweiter Timer
nicht wenn du die 10 minuten sehr sehr genau einhalten möchtest; sagen wir wir haben eine fortschrittsanzeige, die jede sekunde aktualisiert werden soll, und der Timer soll 10 Minuten laufen. dann müsste der Timer 10*60 = 600 mal mit einem Intervall von einer Sekunde aufgerufen werden, bis die 10 Minuten um sind. und da der timer garantiert nicht haargenau jede sekunde aufgerufen wird, summiert sich da bei 600 aufrufen unter umständen eine ganz schöne zeitdifferenz zusammen.

klar hat man diese zeitdifferenz auch, wenn man einen einzelnen timer 10 minuten laufen lässt, die ist aber um ein vielfaches kleiner, da man nur einen Timeraufruf statt 600 hat.
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Timer.Interval in Minuten ablaufend anzeigen

  Alt 22. Jul 2005, 19:10
@BlackJack: Bei dem Timer summiert sich da nix. Wenn du mal einen Timer auf 10 Sekunden gesetzt hast und dann einen Haltepunkt gesetzt hast, wirst du mitbekommen das beim neu lauslofen das Timerevent nachgeholt wird.
Das liegt daran das der Timer durch eine Windowmessage ausgelöst wird. Wenn das Programm jetzt mit irgendetwas beschäftigt ist oder gerade anhält landen trotzdem die Timer-messages in der Nachrichtenschleife und werden dann wenn das programm wieder reagiert abgearbeitet.

zu Abweischungen würde es nur kommen wenn der Timer immer wieder angehalten wird, ansonsten nicht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#10

Re: Timer.Interval in Minuten ablaufend anzeigen

  Alt 22. Jul 2005, 19:10
Diese eventuelle "Aufummierung" (von vieleicht ein paar Millisekunden - kommt, wenn überhaupt, auf das Intervall an) ist aber vernachlässigbar, ich würde sagen, es ist erstmal einfacher mit einem Timer, und es können nicht Sachen wie z.B. "noch -1 Minute" entstehen, wenn die timer nicht synchron arbeiten
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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