Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Problem mit Timer.Enabled / Ampel (https://www.delphipraxis.net/172210-problem-mit-timer-enabled-ampel.html)

jumijumi 18. Dez 2012 21:03

Problem mit Timer.Enabled / Ampel
 
Hallo Leute,
ich bin Anfänger in Sachen Delphi und habe nun ein kleines Ampelprogramm gebaut, ich glaube jedem ist klar, was dieses machen soll.
Allerdings schaltet es nicht immer selber um, sonder ich muss immer auf Button1 drücken. Ich hatte schon gegoogelt, auch hier im Forum geguckt, aber ich scheitere immer am Timer.

Kann mal jemand schnell rüberschauen?
Danke!
MfG
Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);

  private
    Phase: Integer;
    Zeit: Integer;
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.Color := clMaroon;
  Panel2.Color := clOlive;
  Panel3.Color := clGreen;
  Panel1.Caption:='';
  Panel2.Caption:='';
  Panel3.Caption:='';
  Button1.Caption:='Start';
  Phase:=1;
  Zeit:=1;
  Timer1Timer.Enabled:=false;

end;

procedure TForm1.Button1Click(Sender: TObject);
 begin
   case Phase of
      1:
      begin
         Panel1.Color := clRed;
         Panel2.Color := clOlive;
         Panel3.Color := clGreen;
         Phase:= Phase + 1;
        end;
     2:
      begin
         Panel1.Color := clMaroon;
         Panel2.Color := clYellow;
         Panel3.Color := clGreen;
         Phase:= Phase + 1;
       end;
     3:
      begin
         Panel1.Color := clMaroon;
         Panel2.Color := clOlive;
         Panel3.Color := clLime;
         Phase:= Phase + 1;
       end;
     4:
      begin
         Panel1.Color := clMaroon;
         Panel2.Color := clYellow;
         Panel3.Color := clGreen;
         Phase:= 1;
       end;
   end;
 end;

procedure TForm1.Timer1Timer(Sender: TObject);
 begin
 begin
   Zeit:= Zeit + 1;
   case Zeit of
     1..5 : Phase:= 1;
     6 : Phase:= 2;
     7..11: Phase:= 3;
     12 : begin
              Phase:= 4;
              Zeit:= 0;
            end;
   end;

end;
Button1Click(NIL);
end;

end.

Bummi 18. Dez 2012 21:11

AW: Problem mit Timer.Enabled / Ampel
 
wenn er abgeschaltet ist ....
Zitat:

Timer1Timer.Enabled:=false;
versuchs mal mit true statt false...

jumijumi 19. Dez 2012 08:51

AW: Problem mit Timer.Enabled / Ampel
 
Wenn ich Timer1Timer.Enabled:=true; schreibe, kommt folgende Fehlermeldung:
Zitat:

[Fehler] Unit1.pas(44): Nicht genügend wirkliche Parameter
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

EDIT:
Geht nun doch, musste nur das timersymbol hinzufügen. -.-

DeddyH 19. Dez 2012 08:55

AW: Problem mit Timer.Enabled / Ampel
 
Wo ist überhaupt der Timer? Ich sehe nicht, dass da einer in der Formular-Deklaration auftaucht.

jumijumi 19. Dez 2012 09:09

AW: Problem mit Timer.Enabled / Ampel
 
Das war es ja, ich habe nur einen Timercode geschrieben, aber kein Timer aus der Toolbox benutzt. Nun habe ich diesen hinzugefügt und allse läuft.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz