Einzelnen Beitrag anzeigen

Benutzerbild von MarquiseDeSade
MarquiseDeSade

Registriert seit: 18. Apr 2007
Ort: Mainz
55 Beiträge
 
Turbo Delphi für Win32
 
#1

Umgang mit der Timer Komponente

  Alt 30. Aug 2007, 18:19
Hallo Delphi-Freunde

Ich habe ein Problem mit der Komponente "Timer" und deren Benutzung. Ich möchte eine Ampel programmieren und bin mir über die Funktionsweise des Timers nicht ganz klar.

Beispiel:

Kann der Timer so benutzt werden ?

Delphi-Quellcode:
procedure TForm1.GruenGelbRotPhase;
begin
  //Grün-Gelb-Rot-Phase
    Image1.Canvas.Brush.Color := clgreen;
      Image1.Canvas.Ellipse(20, 152, 75, 207);
        Timer1.Interval:=2000;
          Image1.Canvas.Brush.Color := clyellow;
            Image1.Canvas.Ellipse(20, 82, 75, 137);
              Timer1.Interval:=2000;
                Image1.Canvas.Brush.Color := clred;
                  Image1.Canvas.Ellipse(20, 12, 75, 67);
end;
Oder funktioniert der Timer nur, wenn er auch in der Prozedur TForm1.Timer1Timer(Sender: TObject); eingebunden ist ??

Denn ich wollte das so realisieren, aber die Ampel zeigt nur die Rotphase an...

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
i:=1;
    case i of
    1: begin
          AmpelZeichnen;
            RotPhase;
              inc(i);
        end;
    2: begin
          Timer1.Interval:=2500;
            RotGelbPhase;
              inc(i);
        end;
    3: begin
          Timer1.Interval:=4000;
            GruenPhase;
              inc(i);
        end;
    4: begin
          GruenGelbRotPhase;
            i:=1;
        end;
    end;
end;
Funktioniert das überhaupt so ?? Oder mache ich einen Grundlegenden Fehler, denn wie gesagt, es werden die anderen Ampelphasen nicht angezeigt.

Gruß Tobias
  Mit Zitat antworten Zitat