Autor Beitrag
MICtheMAC
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 11.12.02 17:03 
Hi ihr, wir nehmen grad in der Schule delphi durch, und sollen ein Ampelprogramm schreiben...nun bleibt das auto an der roten ampel stehen, es fährt allerdings bei gruen nicht mehr los....kann mir vielleicht jemand sagen wieso ???? :oops:


ausblenden volle Höhe 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:
procedure TAmpel4.ampelschalten4(Sender: TObject);
begin
if imampeluntenlinksrot.visible = True
then begin
imampeluntenlinksrot.visible := False;
imampeluntenlinksgelbrot.visible := True;
timer4.interval := 1000;
end
else if imampeluntenlinksgelbrot.visible = True
then begin
imampeluntenlinksgelbrot.visible := False;
imampeluntenlinksgruen.visible := True;
timer4.interval := 3000;
end
else if imampeluntenlinksgruen.visible = True
then begin
imampeluntenlinksgruen.visible := False;
imampeluntenlinksgelb.visible := True;
timer4.interval := 1000;
end
else if imampeluntenlinksgelb.visible = True
then begin
imampeluntenlinksgelb.visible := False;
imampeluntenlinksrot.Visible := True;
timer4.interval := 3000;
end
end;

procedure TAmpel4.TimerAutolinksTimer(Sender: TObject);

begin
imauto1.left := imAuto1.left +10;
if imAuto1.left > 725
then
imAuto1.left := 1;
if (imampeluntenlinksrot.visible = true)and(imauto1.left < 200)and(imauto1.left>180)
then
timerautolinks.enabled := false
end;
end.


Klabautermann: Code Tags hinzugefügt.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 11.12.02 17:10 
Könntest du den Code mal bitte formatieren und uns sagen was das für Komponenten sind: imampeluntenlinksrot.

Ansonsten würde ich sagen Benzin alle, Motor abgewürgt, Plattfuß, ..... Aber ich bin kein Automechaniker. :wink: Soll heißen, dein Topic ist etwas daneben. :roll:
a.C.k
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 93

WIN 2000
Delphi 6 Enterprise ; Delphi 7 Studio
BeitragVerfasst: Mi 11.12.02 17:35 
Wo sol es denn losfahren?

Habe den Quelltext mal etwas geordnet....
ausblenden volle Höhe 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:
procedure TAmpel4.ampelschalten4(Sender: TObject);
begin
  if imampeluntenlinksrot.visible = True then
  begin
    imampeluntenlinksrot.visible := False;
    imampeluntenlinksgelbrot.visible := True;
    timer4.interval := 1000;
  end else
    if imampeluntenlinksgelbrot.visible = True then
    begin
      imampeluntenlinksgelbrot.visible := False;
       imampeluntenlinksgruen.visible := True;
       timer4.interval := 3000;
    end else
      if imampeluntenlinksgruen.visible = True then
      begin
        imampeluntenlinksgruen.visible := False;
        imampeluntenlinksgelb.visible := True;
        timer4.interval := 1000;
      end else
        if imampeluntenlinksgelb.visible = True then
        begin
          imampeluntenlinksgelb.visible := False;
          imampeluntenlinksrot.Visible := True;
          timer4.interval := 3000;
        end;
end;

procedure TAmpel4.TimerAutolinksTimer(Sender: TObject);

begin 
  imauto1.left := imAuto1.left +10;
  if imAuto1.left > 725 then
    imAuto1.left := 1;
  if (imampeluntenlinksrot.visible = true)and(imauto1.left < 200)and(imauto1.left>180) then
    timerautolinks.enabled := false
end;
end.

_________________
Wer nicht gerne denkt, sollte wenigstens von Zeit zu Zeit seine Vorurteile neu gruppieren.
MICtheMAC Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 11.12.02 18:04 
also, imampeluntenlinksrot/gelb/gruen/rotgelb sind verschiedene Images mit jeweils roter/gruener...usw. ampel...
imAuto is ein Auto-Image
das auto bleibt zwischen 180 und 200 stehen, also in meinem fall vor der weißen Ampel-halte-linie !!
wenn die ampel auf gruen springt (imampeluntenlinksgruen.visible = true)
dann soll das auto von der haltestelle an wieder losfahren, genauso wie es vor der rot-phase fur...leider fährt es gar nicht...
übrigens danke für die übersichtliche darstelung des codes 8)
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: Mi 11.12.02 19:51 
Also Du hälst Dein Auto doch an, indem Du dessen Timer auf enabled := false setzt. Daher würde ich vorschlagen bei grüner Ampel diesen Timer doch auch enabled := true zu setzen... Damit sollte das Auto weiterfahren.
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
...
    if imampeluntenlinksgelbrot.visible = True then 
    begin 
      imampeluntenlinksgelbrot.visible := False; 
       imampeluntenlinksgruen.visible := True; 
       timer4.interval := 3000; 
       timerautolinks.enabled := true; // Losfahren lassen
    end else
...

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
MICtheMAC Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 11.12.02 23:29 
hi wolff,
danke für den tipp, hat einwandfrei geklappt :)
8)
bis zum nächsten problem :wink: