Thema: Delphi case geht nich ?!?

Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#12

Re: case geht nich ?!?

  Alt 11. Feb 2007, 11:19
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
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat