![]() |
Timer in Schleife verwenden
Hi,
Also ich weiß net was los ist aber ich bekomme das einfach net hin, irgendwie stell ich mich an: Was will ich ? Ich will eine Uhr machen. So... Also die aktuallisierung der Uhr soll über eine schleife gehen. Es soll aber nach jedem durchgang eine Sekunde pause gemacht werden. Wie mach ich das ? MFG |
Re: Timer in Schleife verwenden
Benutz doch einen Timer mit Intervall 1000 (ms), dann wird im OnTimer-Event jede Sekunde etwas getan ;-)
|
Re: Timer in Schleife verwenden
Ja nur wie mache ich...
1. Die schleife ? 2. Den Timer aktivieren das er 1 Sekunde wartet ? Wenn ich nur TTimer1.OnTimer mache will er noch mehr argumente |
Re: Timer in Schleife verwenden
Ich versteh nicht ganz, was du mit der Schlaife meinst :-)
Sobald du den Timer auf Active:=true setzt, wird das OnTimer-Event jede Sekunde unabhängig von allen anderen Sachen ausgeführt. PS: Wenn du Timer1.OnTimer aus einer anderen Prozedur aus aufrufen möchtest, musst du einen Sender angeben, z.B. self oder so. |
Re: Timer in Schleife verwenden
Geht net: Zugriffsverletzung.
Mach doch mal so ein Ding und Poste den Code :-D |
Re: Timer in Schleife verwenden
1 Timer auf der Form; beim mir mit Interval 3000; Active
1 Button auf der Form
Delphi-Quellcode:
Compiliert und funktioniert.
procedure TForm1.Button1Click(Sender: TObject);
begin Timer1.OnTimer(self); end; procedure TForm1.Timer1Timer(Sender: TObject); begin ShowMessage('Geht!!!'); end; |
Re: Timer in Schleife verwenden
Zitat:
[edit]Ultimator war schneller][/edit] |
Re: Timer in Schleife verwenden
Delphi-Quellcode:
procedure TMainForm.Button1Click(Sender: TObject);
Var DateTime : TDateTime; Uhrzeit : string; i : Integer; begin for i := 1 to 5 do begin DateTime := Time; Uhrzeit := TimeToStr(DateTime); StatusBar1.Panels[0].Text := Uhrzeit; Timer1.OnTimer(self); end; end; |
Re: Timer in Schleife verwenden
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
er meint wahrscheinlich sowas wie in der anhängenden Demo. bye Claus |
Re: Timer in Schleife verwenden
Delphi-Quellcode:
DateTime := Time;
Uhrzeit := TimeToStr(DateTime); StatusBar1.Panels[0].Text := Uhrzeit; Das packst du jetzt ins OnTimerEreignis und im ButtonEreignis aktvierst du den Timer. Timer auf ein Interval von 1000ms(besser 500) stellen, damit die Zeitanzeige auch ständig aktualisiert wird. [Edit]Wenn du Duffys Vorschlag nimmst, dann hast du eine schön übersichtliche Lösung.[/Edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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