| dude hat folgendes geschrieben: |
| Ich hatte das so mla ausprobiert. Funktionieren tut das aber nicht! |
Eine globale Variable wird
außerhalb der Prozedur deklariert und kann mit einem bestimmten Wert initialisiert werden (wie auch Fred zeigte). Eine lokale Variable, wie in deinem Codebeispiel, wird bei jedem Aufruf der Funktion/Prozedur neu erstellt. - Ich dachte an so was:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var curAction : integer = 0;
procedure TForm1.Timer1Timer(Sender: TObject); begin inc(curAction);
case curAction of 1: MachDies; 2: MachDas; 3: MachWasGanzAnderes; { ... } end; end; |
Du müsstest nur dafür sorgen, dass irgendwann der Timer gestoppt bzw. die Variable wieder auf Null zurückgesetzt wird. Sonst wird sie endlos hochgezählt, führt aber irgendwann keine passenden Aktionen mehr aus.