AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Timer in Schleife verwenden

Ein Thema von Äfan · begonnen am 12. Dez 2004 · letzter Beitrag vom 12. Dez 2004
Antwort Antwort
Seite 1 von 2  1 2   
Äfan
(Gast)

n/a Beiträge
 
#1

Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:01
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
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:02
Benutz doch einen Timer mit Intervall 1000 (ms), dann wird im OnTimer-Event jede Sekunde etwas getan
Julian J. Pracht
  Mit Zitat antworten Zitat
Äfan
(Gast)

n/a Beiträge
 
#3

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:07
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
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:10
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.
Julian J. Pracht
  Mit Zitat antworten Zitat
Äfan
(Gast)

n/a Beiträge
 
#5

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:14
Geht net: Zugriffsverletzung.

Mach doch mal so ein Ding und Poste den Code
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:18
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.
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:19
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]
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Äfan
(Gast)

n/a Beiträge
 
#8

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:22
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;
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#9

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:24
Hallo zusammen,
er meint wahrscheinlich sowas wie in der anhängenden Demo.

bye
Claus
Angehängte Dateien
Dateityp: zip demo_158.zip (200,2 KB, 75x aufgerufen)
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Timer in Schleife verwenden

  Alt 12. Dez 2004, 01:25
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]
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 Uhr.
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