Thema: Delphi Ampelschaltung

Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Ampelschaltung

  Alt 3. Dez 2006, 13:38
Hallo,

ich hab auch mal ne Ampel aus Spass programmiert.
Ich werde dir zwar nicht den kompletten Code geben, aber ein paar Anhaltspunkte:

z. B. Timer

in OnTimer des Timers hab ich es so gelöst:
Delphi-Quellcode:
procedure TForm1.Timer_AmpelTimer(Sender: TObject);
begin
  Label_Zustand.Caption := IntToStr(Zustand);

  case Zustand of
    1:
      begin
        Shape_rot.Brush.Color := Farbe_Rot;
        Shape_gelb.Brush.Color := Farbe_Gelb;
        Shape_gruen.Brush.Color := Farbe_Aus;

        Zustand := 2;
      end;
    2:
      begin
        {...}

        Zustand := 3;
      end;

{...}
Wie du siehst, hab ich 3 Shapes verwendet und schalte, je nach Zustand, die Farbe der einzelnen Shapes um.

Grunde ist es eine Endlos-Schleife.
Zustand 1 = Ampel rot/gelb
Zustand 2 = Ampel gruen
Zustand 3 = Ampel gelb
Zustand 4 = Ampel rot

je nach Timer-Intervall läuft die Ampel schneller oder langsamer.

Vielleicht hilft dir das ja.

P.S.: Farbe_Rot, Farbe_Gelb und Farbe_Aus sind Konstanten. Es ginge auch mit clRed, clYellow und clBlack (= Farbe_Aus bei mir)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat