![]() |
Auslesen, wie lange ein Timer schon läuft.
:?: Wie (überhaupt) kann ich auslesen wie lange ein Timer schon enabled:=treu ist? Ich möchte die width-eigenschaft eines Labels an einen Timer hängen, so dass das Label gegen Ablauf der Zeit verschwunden ist.
:?: Kann icheinem Timer so einstellen, das er immer nach 1000 ein Ereigniss auslöst? Ich habe probiert, einen Countdown zu schreiben, aber wenn ich einem Timer sage, dass er sich immer wieder einschalten soll, wenn die Zeit abgelaufen ist, wird das Ganze nicht mehr genau. In den ganzen Hilfen hab ich nicht gefunden und die Leute aus meinem Kurs wissen auch nichts darüber. Thanks :spin: Toxman |
Re: Auslesen, wie lange ein Timer schon läuft.
Zitat:
|
Re: Auslesen, wie lange ein Timer schon läuft.
Das PRobelm ist nicht, nach 1000 ein ereigniss auszulösen , sondern das 10 mal hintereinander zu machen
Toxman |
Re: Auslesen, wie lange ein Timer schon läuft.
Dann zähl mit, wie oft es ausgelöst wurde. Wo ist das Problem?
|
Re: Auslesen, wie lange ein Timer schon läuft.
Hai Toxman im Formum.
Mache es do so:
Delphi-Quellcode:
zaehler ist eine globale Variable vom Typ Int.
procedure TForm1.Button1Click(Sender: TObject);
begin zaehler := 0; Timer1.Interval := 1000; Timer1.Enabled := True; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Inc (zaehler); Case zaehler of 8 : Label1.Caption := 'Gleich sind 10 Sek. vorbei'; 10 : begin Label1.Caption := 'Fertisch'; Timer1.Enabled := False; end; end; end; |
Re: Auslesen, wie lange ein Timer schon läuft.
Ich will ja eine Label mit diesem Timer zum schrumpfen bringen. Wenn ich aber den Timer immer wieder anschalte, braucht das nicht die gleiche Zeit, wie wenn ich einen Timer durchlaufen lasse.
Bsp: 5*1000(intervall = 1000, wird 5 mal gestartet)<>5000 |
Re: Auslesen, wie lange ein Timer schon läuft.
Ddann laß ihn doch durchlaufen.
|
Re: Auslesen, wie lange ein Timer schon läuft.
Danke für den Vorschlag. Noch eine kleine Frage: Du schaltest den TImer mit einem Button an, dann läuft er bis er fertig ist und dann? Ich glaube, dass bei deinem Code die Zaehler-variable nur einmal geinct wird un dann hat sichs, oder? :?:
|
Re: Auslesen, wie lange ein Timer schon läuft.
Danke für den Vorschlag. Noch eine kleine Frage: Du schaltest den TImer mit einem Button an, dann läuft er bis er fertig ist und dann? Ich glaube, dass bei deinem Code die Zaehler-variable nur einmal geinct wird un dann hat sichs, oder? :?:
|
Re: Auslesen, wie lange ein Timer schon läuft.
Zitat:
Hast Du denn Code denn getestet? Ich schon :lol: :D |
Re: Auslesen, wie lange ein Timer schon läuft.
Ich hab das mal nachgebaut und versteh nicht recht, waum das klappt. Ich hab gelernt, dass sich ein Timer nach dem Auslösen des Ereignisses ausschaltet und nicht dass er das erigniss immer wieder ausführt. Was passiert da?
|
Re: Auslesen, wie lange ein Timer schon läuft.
Zitat:
Ein Timer lösst alle X ms (Intervall) das OnTimer-Ereigniss aus bis er im Programm auf Enabled := False gesetzt wird. |
Re: Auslesen, wie lange ein Timer schon läuft.
Bei dem Code wird der Timer ausgeschaltet, wenn der Zähler gleich 10 ist. Steht doch da:
Delphi-Quellcode:
Und nicht jedes mal, wenn das Timer Ereignis eintritt.
case zaehler of
10: begin ...; Timer1.Enabled _= FALSE; end; end; |
Re: Auslesen, wie lange ein Timer schon läuft.
Na Danke :evil: Da geht man in die Schule um was zu lernen und dann so was. Vielleicht hab ichs auch nur falsch verstanden.
Nochmal zur ersten Frage: gibt es einen Befehl mit dem man die Laufdauer lesen kann und sie in einem Label o.ä. zeigen kann? :thuimb: Vielen Dank für die schnelle Hilfe. :thuimb: |
Re: Auslesen, wie lange ein Timer schon läuft.
[quote="Toxman"...Nochmal zur ersten Frage: gibt es einen Befehl mit dem man die Laufdauer lesen kann und sie in einem Label o.ä. zeigen kann?....[/quote]
So eine Funktion ist mir nicht bekannt. IMHO basiert der Timer auf einer API-Funktion. Ob es eine API gibt um die "aktuelle" Laufzeit zu ermitteln kann ich dir aber nicht sagen. |
Re: Auslesen, wie lange ein Timer schon läuft.
Thanx
<--- Das geilste Smiley, dass ich jemals gesehen habe :love: |
Re: Auslesen, wie lange ein Timer schon läuft.
Hi,
eine Möglichkeit die noch anstehende Timerzeit auszulesen gibts meines Wissens nicht. Aber es gibt eine ander Möglichkeit: Nimm einen Timer mit einem Intervall von 0,1 sec ( 100 ) Diesen Timer lässt du laufen. Du definierst eine Variable Zeit ( integer ) die du hochzählst. Das ist dann die vergangene Zeit in zehntel Sekunden. Wird der Wert grösser oder gleich X ( Intervallzeit ) setz es auf null. Zu diesem Zeitpunkt kannst du irgendetwas auslösen und hast permanent die vertsrichene Zeit. Hab ich schon gemacht funktioniert prima; ketraun |
Re: Auslesen, wie lange ein Timer schon läuft.
klingt gut. Mein Problem war bisher, das ich in der Schule gelernt hab, dass sich ein Timer nach dem Auslösen ausschaltet und nicht dauernd weiter das Ereiniss auslöst.
|
Re: Auslesen, wie lange ein Timer schon läuft.
Zitat:
du könntest einen 2ten timer laufen lassen(mit dem intervall 1000) der immer läuft solange die erste läuft und eine variable immer um 1(sekunden) erhöht... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:56 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