Autor Beitrag
Mr. nochkeineahnung
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 11.02.06 13:53 
Hallo!

ich steh noch ganz am anfang vom programieren und habe die aufgabe eine ampel zu erstellen. Sie soll automatisch laufen, also mit timer,nicht manuell.

bis jetzt habe ich folgendes getan:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    ampelshape: TShape;
    rotshape: TShape;
    gelbshape: TShape;
    gruenshape: TShape;
    ampeltimer: TTimer;
    procedure ampeltimerTimer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ampeltimerTimer(Sender: TObject);
begin
IF ampeltimer.Interval = 1000
THEN BEGIN
  rotshape.visible := true;
  gelbshape.visible := false;
  gruenshape.visible := false;
  ampeltimer.interval := 500;
END;
IF ampeltimer.interval = 500
THEN BEGIN
  rotshape.Visible := true;
  gelbshape.visible := true;
  gruenshape.Visible := false;
  ampeltimer.interval := 1001;
END;
IF ampeltimer.Interval = 1001
THEN BEGIN
  rotshape.Visible := false;
  gelbshape.Visible := false;
  gruenshape.Visible := true;
  ampeltimer.interval := 499;
END;
IF ampeltimer.Interval := 499
THEN BEGIN                           // hier zeigt er mir einen fehler an
  rotshape.Visible := false;
  gelbshape.visible := true;
  gruenshape.visible := false;
  ampeltimer.Interval := 1000;
END;
end;

end.



so wie ich mir das gedacht habe müsste die jetzt funktionieren, jedoch zeigt er mir beim letzten THEN BEGIN einen fehler an, woran könnte dass liegen?

und bevor ich diesen letzten THEN BEGIN angegeben habe ist sie gelaufen, allerdings ist sie dann direkt von rot auf grün gesprungen.

Ich würde mich sehr freuen wenn ihr mir meinen fehler erklären könntet bzw. wenn ihr mir sagen könntet ob dass so vom prinzip überhaupt geht

mfg und danke schonmal Mr.nka

Moderiert von user profile iconGausi: Beitragsformatierung überarbeitet.
koller1
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 216

WIN XP
D7 Ent
BeitragVerfasst: Sa 11.02.06 13:57 
Hallo im Delphi-Forum von mir! =)

Das ist ganz leicht, beim letzen if..then hast du statt 1=2, 1:=2 geschrieben, der : zwischen
ausblenden Delphi-Quelltext
1:
IF ampeltimer.Interval := 499 THEN					

muss weg!

MFG
koller1

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt

_________________
PLEASE INSERT SYSTEM DISK AND PRESS ENTER!
Und wenn du nicht gestorben bist, presst du noch heute! ;)
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 11.02.06 13:58 
Hallo und :welcome: in der Entwickler-Ecke.

Du hast da einen Doppelpunkt zuviel drin ;-)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
IF ampeltimer.Interval := 499   
THEN BEGIN                           // hier zeigt er mir einen fehler an   
  rotshape.Visible := false;   
  gelbshape.visible := true;   
  gruenshape.visible := false;   
  ampeltimer.Interval := 1000;   
END;

_________________
We are, we were and will not be.
Mr. nochkeineahnung Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 11.02.06 14:03 
HEY!
vielen dank für die schnelle hilfe!
aber jetzt schaltet die ampel einfach von rot auf gelb, sie überspringt also den schritt rot-gelb und schritt grün. woran könnte das liegen?

mfg Mr. nka
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 11.02.06 14:44 
Setz mal else dazwischen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.ampeltimerTimer(Sender: TObject);  
begin  
IF ampeltimer.Interval = 1000  
THEN BEGIN  
  rotshape.visible := true;  
  gelbshape.visible := false;  
  gruenshape.visible := false;  
  ampeltimer.interval := 500;  
END
else ....{usw.}
Mr. nochkeineahnung Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 11.02.06 15:02 
danke! jetz funktioniert es einigermaßen

THX!!