![]() |
Schleife mit Timer
Hi, ich möchte in eine Tabelle Werte eingeben, und in der ersten Spalte sollen Zahlen stehen was ich nun mit diesem Quelltext mache:
Delphi-Quellcode:
So, nun möchte ich per Button2, das mein Timer1 die Werte aus der ersten Spalte nach und nach abläuft.
implementation
var anztimer:integer; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin stringgrid1.Cells[0,stringgrid1.Row]:=(Edit1.text); stringgrid1.Cells[1,stringgrid1.Row]:=(ComboBox1.Text); stringgrid1.Row:=stringgrid1.Row+1; anztimer:=stringgrid1.row; end; procedure TForm1.FormCreate(Sender: TObject); begin stringgrid1.cells[0,0]:='Zeit'; stringgrid1.cells[1,0]:='Richtung'; end; Das heißt, steht in der ersten Spalte 5 in der ersten Zeile, soll der Timmer 5Sekunden bei der ersten Zeile bleiben, und danach erst in die nächste Zeile wechseln. Dies will ich erreichen mit:
Delphi-Quellcode:
Irgend etwas klappt noch nicht so recht, kann mir jemand mal einen Tipp geben?
procedure TForm1.Button2Click(Sender: TObject);
var i:integer; interval:cardinal; begin for i:=1 to anztimer-1 do begin Timer1.Enabled := true; Timer1.Interval:=(stringgrid1.cells[0,i]); label1.caption:=(stringgrid1.cells[0,i]); end; end; end. |
Re: Schleife mit Timer
Dir scheint nicht klar zu sein was ein Timer macht...
![]() Und die Delphi-Hilfe sollte auch helfen. |
Re: Schleife mit Timer
Du solltest die Strings der Tabelle in int umwandeln dann gehts auch
der Timer läuft in millisekunden
Delphi-Quellcode:
geht schonmal gar nicht, da du nicht die eigenschaft interval ansprichts.
anztimer:=stringgrid1.row;
und lesen aus ner ganzen Row geht auch nicht, da musst du schon cell ansprechen. Gruß Matthias |
Re: Schleife mit Timer
Okay, und wie kann ich dann das Problem lösen?
|
Re: Schleife mit Timer
Beschäftige dich mit dem Timer. ;-)
Wie es funktioniert ist, dass du im Timerevent OnTimer deine globale Variable jeweils um 1 hochzählst. Zudem zeigst du die entsprechende Zeile an und deaktivierst den Timer, wenn die letzte Zeile erreicht ist. Für das Timerevent klick in Delphi z.B. einfach doppelt auf den Timer. In dem ButtonClick aktivierst du den Timer mit:
Delphi-Quellcode:
TimerX.Enabled := True;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 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