Entwickler-Ecke
Sonstiges (Delphi) - Warum fährt das Auto nicht mehr los ?? :(
MICtheMAC - Mi 11.12.02 18:03
Titel: Warum fährt das Auto nicht mehr los ?? :(
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:
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.
Delete - Mi 11.12.02 18: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 - Mi 11.12.02 18:35
Wo sol es denn losfahren?
Habe den Quelltext mal etwas geordnet....
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. |
MICtheMAC - Mi 11.12.02 19: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 - Mi 11.12.02 20: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.
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 ... |
MICtheMAC - Do 12.12.02 00:29
hi wolff,
danke für den tipp, hat einwandfrei geklappt :)
8)
bis zum nächsten problem :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!