Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schleife mit Timer (https://www.delphipraxis.net/130483-schleife-mit-timer.html)

delphi-projekt 9. Mär 2009 11:39


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:
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;
So, nun möchte ich per Button2, das mein Timer1 die Werte aus der ersten Spalte nach und nach abläuft.

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:
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.
Irgend etwas klappt noch nicht so recht, kann mir jemand mal einen Tipp geben?

jaenicke 9. Mär 2009 11:43

Re: Schleife mit Timer
 
Dir scheint nicht klar zu sein was ein Timer macht...
http://www.webmaster-talk.com/coding...-tutorial.html

Und die Delphi-Hilfe sollte auch helfen.

matashen 9. Mär 2009 11:45

Re: Schleife mit Timer
 
Du solltest die Strings der Tabelle in int umwandeln dann gehts auch
der Timer läuft in millisekunden

Delphi-Quellcode:
anztimer:=stringgrid1.row;
geht schonmal gar nicht, da du nicht die eigenschaft interval ansprichts.
und lesen aus ner ganzen Row geht auch nicht, da musst du schon cell ansprechen.

Gruß Matthias

delphi-projekt 9. Mär 2009 11:45

Re: Schleife mit Timer
 
Okay, und wie kann ich dann das Problem lösen?

jaenicke 9. Mär 2009 11:51

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 02:26 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