Entwickler-Ecke

Sonstiges (Delphi) - Ampel Lazaurs


Lazarusboy - Mo 21.02.11 22:15
Titel: Ampel Lazaurs
Hallo Leute,
Ich hab hier ein Programm einer Ampel, jeodch wird die ganze Zeit die Fehlermeldung gesagt das es Srot2, Srot3,Sgelb2,Sgelb3 usw nicht gibt, deswegen wollte ich euch fragen ob ihr mir helfen könntet.
Hier der Quelltext


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:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
procedure TForm1.BschaltenClick(Sender: TObject);
begin
  case Sekunden of
     1begin
        SRot.Brush.color := clMaroon;
        SRot1.Brush.Color:= clMaroon;
        SGelb.Brush.color := clOlive;
        SGelb1.Brush.color := clOlive;
        SGruen.Brush.color := ClLime;
        SGruen1.Brush.color := ClLime;

     end;
     5begin
        SRot.Brush.color := clMaroon;
        SRot1.Brush.color := clMaroon;
        SGelb.Brush.color := clYellow;
        SGelb1.Brush.color := clYellow;
        SGruen.Brush.color := ClGreen;
        SGruen2.Brush.color := ClGreen;

     end;
     6begin
        SRot.Brush.color := clRed;
        SRot1.Brush.color := clRed;
        SGelb.Brush.color := clOlive;
        SGelb1.Brush.color := clOlive;
        SGruen.Brush.color := ClGreen;
        SGruen1.Brush.color := ClGreen;

     end;
     10begin
        SRot.Brush.color := clRed;
        SRot1.Brush.color := clRed;
        SGelb.Brush.color := clYellow;
        SGelb1.Brush.color := clYellow;
        SGruen.Brush.color := ClGreen;
        SGruen1.Brush.color := ClGreen;

     end;
end;
 If Sekunden<11 then begin
Sekunden:=Sekunden+1;
end
else begin
Sekunden:=1
end;

end;

procedure TForm1.Bschalten2Click(Sender: TObject);
begin

end;

procedure Bschalten2Click(Sender: TObject);
begin
  case Sekunden of
     10begin
        SRot2.Brush.color := clMaroon;
        SRott3.Brush.Color:= clMaroon;
        SGelb2.Brush.color := clOlive;
        SGelb3.Brush.color := clOlive;
        SGruen2.Brush.color := ClLime;
        SGruen3.Brush.color := ClLime;

     end;
     6begin
        SRot2.Brush.color := clMaroon;
        SRott3.Brush.color := clMaroon;
        SGelb2.Brush.color := clYellow;
        SGelb3.Brush.color := clYellow;
        SGruen2.Brush.color := ClGreen;
        SGruen3.Brush.color := ClGreen;

     end;
    5begin
        SRot2.Brush.color := clRed;
        SRott3.Brush.color := clRed;
        SGelb2.Brush.color := clOlive;
        SGelb3.Brush.color := clOlive;
        SGruen2.Brush.color := ClGreen;
        SGruen3.Brush.color := ClGreen;

     end;
     1begin
        SRot2.Brush.color := clRed;
        SRott3.Brush.color := clRed;
        SGelb2.Brush.color := clYellow;
        SGelb3.Brush.color := clYellow;
        SGruen2.Brush.color := ClGreen;
        SGruen3.Brush.color := ClGreen;

     end;
   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Sekunden:=1  ;


Moderiert von user profile iconMartok: Delphi-Tags eingefügt


platzwart - Mo 21.02.11 22:37

Hallo und Willkommen hier im Forum :)

Naja, dann wird es diese Elemente wahrscheinlich nicht geben, oder hast du die angelegt und so bennant?


Lazarusboy - Mo 21.02.11 22:46

Na klar habe ich die so benannt, aber aus irgenteinem grund sagt der immer Error:identifier not found:"Srot2". usw


platzwart - Mo 21.02.11 22:58

Aber scheinbar nicht als Member von Form1. Kannst du die entsprechende Datei mal hier anhängen?


jaenicke - Mo 21.02.11 23:01

user profile iconLazarusboy hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.Bschalten2Click(Sender: TObject);
begin

end;

procedure Bschalten2Click(Sender: TObject);
begin
  case Sekunden of
     10begin
        SRot2.Brush.color := clMaroon;
        SRott3.Brush.Color:= clMaroon;
Du hast zweimal Bschalten2Click definiert, einmal innerhalb des Formulars als Methode und einmal außerhalb des Formulars als reine Prozedur. In der Methode des Formulars machst du aber gar nichts. :shock:

Und außerhalb des Formulars kennt Delphi natürlich keine der Komponenten des Formulars. Im Grunde musst du den Quelltext nur in den jetzt leeren Rumpf der Methode schreiben.


Lazarusboy - Mo 21.02.11 23:15

Danke jetzt funktioniert es thx
Habe es net bemerkt


Lazarusboy - Mo 21.02.11 23:57

hätte noch ne Frage , stimmt an dem Text was nicht?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.BfahrenClick(Sender: TObject);
begin
  IF SRot2.color=clLime
  then begin
  SAuto1.left:=SAuto1.left+1 ;
  end
  else  begin
  If
  SRot.color=clLime then
  begin
  SAuto2.left:=SAuto2.left+1  ;
  end
  else begin
  end;
end;
end;



Er sollte mir wenn ich auf den Button klicke und die eine Ampel grün ist das Shape Auto eins nach rechts oder links verschieben, jedoch macht er überhaupt nichts

Moderiert von user profile iconMartok: Delphi-Tags eingefügt


Martok - Di 22.02.11 00:27

Hallo!

Bitte verwende für Quellcode in Zukunft die entsprechenden [delphi]-Tags, dann wird er "schöner" dargestellt als im Fließtext. Beispiel:

Quelltext
1:
<span class="inlineSyntax"><span class="codecomment">{PROTECTTAG864663915bbe7b8a304528f7c706a4b1}</span></span>                    

Wird:

Delphi-Quelltext
1:
var Test: integer;                    



Viele Grüße,
Martok