Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Timer reinsetzen (https://www.delphipraxis.net/48166-timer-reinsetzen.html)

turboPASCAL 21. Jun 2005 17:38

Re: Timer reinsetzen
 
Zitat:

Zitat von manakinn
Gibt es auch eine möglichkeit, die Zeit in einem Label anzeigenzulassen ?
In ms oder s, das ist egal.
Label4.Catpion:=(Timer.1) geht nicht, muss man da erst irgendwie was bestimmtes einbauen oder so ?

Delphi-Quellcode:
  LabelX.Caption := {'Text'} + IntToStr(TimerX.Interval);
oder:

Delphi-Quellcode:
  LabelX.Caption := Format('Der Timer Interval ist auf %d eingestellt.', [TimerX.Interval]);

manakinn 21. Jun 2005 17:48

Re: Timer reinsetzen
 
Das LabelX.Caption := Format('Der Timer Interval ist auf %d eingestellt.', [TimerX.Interval]); funktioniert, aber der sagt, der Timer wäre auf 1000, obwohl der ja Random is :/ was auch noch cool wäre, die Timer anzeige abläuft ^^

Khabarakh 21. Jun 2005 17:52

Re: Timer reinsetzen
 
Die Codezeile musst du natürlich jedesmal, nachdem Interval geändert wurde, aufrufen.

Ich vermisse etwas Eigeninitiative in diesem Thread

DP-Maintenance 21. Jun 2005 18:07

DP-Maintenance
 
Dieses Thema wurde von "alcaeus" von "Internet / LAN / ASP.NET" nach "VCL / WinForms / Controls" verschoben.
Und ich schiebe das mal zu den VCL-Komponenten. Mit Internet hat das doch herzlich wenig zu tun.

Marphy 21. Jun 2005 18:50

Re: Timer reinsetzen
 
Hallo manakinn,

Zitat:

Zitat von manakinn
Das LabelX.Caption := Format('Der Timer Interval ist auf %d eingestellt.', [TimerX.Interval]); funktioniert, aber der sagt, der Timer wäre auf 1000, obwohl der ja Random is :/ was auch noch cool wäre, die Timer anzeige abläuft ^^

Ich glaube, du solltest dir bei Gelegenheit mal ein gutes Delphi-Buch besorgen. :wink: Gibt's bei Amazon.de ab 20€ Bestellwert sogar versandkostenfrei. :???:

So, nun zu deiner (zweiten) Frage:

Zuerst ziehst du einen zweiten Timer auf dein Formular (sagen wir Timer2) und legst sein Intervall z.B. auf 1000ms fest.
Definiere dann in der TForm-Deklaration unter private folgenden Member:
Delphi-Quellcode:
private
  FTimeRemaining: Integer;
Dort, wo Timer1 aktiviert wird, schreibst du drunter:
Delphi-Quellcode:
FTimeRemaining := Timer1.Interval;
Timer2.Enabled := True;
Im Timer2.OnTimer-Event schreibst du folgendes (Label2 ist das Anzeige-Label):
Delphi-Quellcode:
Dec(FTimeRemaining, Timer2.Interval);
Label2.Caption := Format('Noch %d ms!', [FTimeRemaining]);
Später (im Timer1OnTimer) nicht vergessen, Timer2 wieder zu stoppen (Timer2.Enabled := False).

Das war's! :wink:

Viel Spaß,
Marco


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.
Seite 2 von 2     12   

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