![]() |
mehrere timer nacheinander
hallo!!
Ich programmiere gerade eine Millionenshow und will dazu etwas Besonderes beim Telefonjoker machen. Es soll nämlich ein anderes Formular geöffnet werden und dieses soll dann ein Männchen zeigen. Nebenbei erscheint eine Sprechblase in der erst ein Satz erscheinen soll und dann die richtige Antwort. Nachdem die richtige Antwort gezeigt wurde soll sich das Formular dann selbst wieder schließen. Ich hätte mir gedacht ich mache das mit Timern. Der 1. Timer soll Label1 erscheinen lassen und wenn dieser fertig ist soll der 2. Timer Label2 erscheinen lassen. Der 2. Timer zeigt die richtige Antwort dann ca. 3 Sekunden und dann soll sich das Fenster wieder von selbst schließen. Wie schaffe ich es, dass die Timer nacheinander abgespielt werden und erst nach Ablauf des 2. Timers das Fenster geschlossen wird?? :? juLiii |
Re: mehrere timer nacheinander
Obwohl man das sicherlich auch anders machen könnte:
Delphi-Quellcode:
Das ist weder schön noch elegant, sollte aber funktionieren.
procedure TDeinForm.Timer1Timer(Sender: TObject);
begin Timer1.Enabled := false; //weiterer Code Timer2.Enabled := true; end; procedure TDeinForm.Timer2Timer(Sender: TObject); begin Timer2.Enabled := false; //weiterer Code Timer3.Enabled := true; end; //etc. pp. |
Re: mehrere timer nacheinander
ok ich stell mich vielleicht gerade etwas blöd an, aber ich verstehe nicht genau wo ich welchen Code hinschreiben soll.
ich brauche doch noch neben procedure TForm2.Timer1Timer(Sender: TObject); eine andere procedure Also: zuerst öffne ich das Formular und sobald es gezeigt wird soll es losgehen.
Delphi-Quellcode:
(nach 3 Sekunden
label1.visible := true;
Delphi-Quellcode:
)
label1.Visible := false;
dann
Delphi-Quellcode:
(nach weiteren 3 Sekunden
label2.Visible := true;
Delphi-Quellcode:
)
label2.Visible := false; form2.close;
bei deiner Hilfe steht
Delphi-Quellcode:
irgendwie steh ich gerade total auf der Leitung :wall:
procedure TDeinForm.Timer1Timer(Sender: TObject);
begin Timer1.Enabled := false; //weiterer Code :arrow: was soll ich jetzt hier einfügen? und wo setze ich fest wie lange der timer läuft Timer2.Enabled := true; end; [edit=mkinzler] Delphi-Tags eingefügt Mfg, mkinzler[/edit] |
Re: mehrere timer nacheinander
Warum nimmst du nicht einen Timer, der sich entsprechend verhält?
|
Re: mehrere timer nacheinander
Ein Timer hat eine Eigenschaft Interval, das ist die Zeit in Millisekunden, nach der das Timer-Event loslegt. Und da wo "weiterer Code" steht, kommt da rein, was der jeweilige Timer noch tun soll (Label anzeigen oder Formular schließen z.B.). Ansonsten verweise ich mal auf die Grundlagen-Tutorials:
![]() |
Re: mehrere timer nacheinander
ich habe es jetzt so probiert
Delphi-Quellcode:
ich möchte eigentlich, dass der Timer gleich startet, wenn sich das Fenster öffnet
procedure TForm2.Timer1Timer(Sender: TObject);
begin L_klug1.Visible := False; Timer1.Enabled := false; end; procedure TForm2.FormCreate(Sender: TObject); begin L_klug1.Visible := true; timer1.Enabled := True; timer1.Interval := 5000; end; es funktioniert aber nicht - was mache ich falsch? denn eigentlich will ich, dass dann der 2. timer auch noch los geht, wenn der 1. fertig ist aber irgendwie geht das nicht :gruebel: [edit=mkinzler] Das Setzen der Delphi-Tags kannst du übrigens auch selber machen! Einfach Code markieren und Button Delphi-Code oberhalb des Editorfensters anklicken. Mfg, mkinzler[/edit] |
Re: mehrere timer nacheinander
jip habs geschafft xD
ein panel war das problem :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 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