Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Timer in Schleife verwenden (https://www.delphipraxis.net/35809-timer-schleife-verwenden.html)

Äfan 12. Dez 2004 00:01


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

Ultimator 12. Dez 2004 00:02

Re: Timer in Schleife verwenden
 
Benutz doch einen Timer mit Intervall 1000 (ms), dann wird im OnTimer-Event jede Sekunde etwas getan ;-)

Äfan 12. Dez 2004 00:07

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

Ultimator 12. Dez 2004 00:10

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.

Äfan 12. Dez 2004 00:14

Re: Timer in Schleife verwenden
 
Geht net: Zugriffsverletzung.

Mach doch mal so ein Ding und Poste den Code :-D

Ultimator 12. Dez 2004 00:18

Re: Timer in Schleife verwenden
 
1 Timer auf der Form; beim mir mit Interval 3000; Active
1 Button auf der Form
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.OnTimer(self);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
ShowMessage('Geht!!!');
end;
Compiliert und funktioniert.

gmarts 12. Dez 2004 00:19

Re: Timer in Schleife verwenden
 
Zitat:

Zitat von Äfan
Mach doch mal so ein Ding und Poste den Code :-D

Poste mal lieber deinen Code, dann gucken wir da mal rein. :)


[edit]Ultimator war schneller][/edit]

Äfan 12. Dez 2004 00:22

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;

Duffy 12. Dez 2004 00:24

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

gmarts 12. Dez 2004 00:25

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 08:57 Uhr.
Seite 1 von 2  1 2      

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