
Zitat von
passsy:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
inc(i);
case i of
1:timer2.Enabled:=true;
2:timer3.Enabled:=true;
3:timer4.Enabled:=true;
4:timer5.Enabled:=true;
5:showmessage('test');
6:timer1.Enabled:=false;
end;
end;
sieht ja ganz schön aus aber geht nich

woran liegts?
"i" ist eine Lokale Variable die nur innerhalb der Procedure ober Funktion besteht.
Bei dem Aufruf der Procedure bzw einer Function ist/ wird der Inhalt der Variable gelöscht.
Setze die Variable "i" als Global.
Weiterhin wird dann bei jedem Aufruf "i" bis in das Uneldliche hochgezählt sodas dein Case bei
"i" grösser 6 keine Wirkung erzielt.
Delphi-Quellcode:
var
MyCounter: Integer;
//oder mit Vorinitialisierung
var
MyCounter: Integer = 0;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if MyCounter < 6 then inc(MyCounter) else MyCounter = 1;
Case MyCounter of
1: timer2.Enabled := TRUE;
2: timer3.Enabled := TRUE;
3: timer4.Enabled := TRUE;
4: timer2.Enabled := FALSE;
5: timer3.Enabled := FALSE;
6: timer4.Enabled := FALSE;
end; // End of Case
end; // End of Procedure Timer1