Entwickler-Ecke
Sonstiges (Delphi) - Ampel-Projekt - Wo ist der Fehler?
Gidi - Di 12.09.06 20:04
Titel: Ampel-Projekt - Wo ist der Fehler?
Ich bins noch mal.
Ich bin immernoch bei dem Programm mit der Ampekreuzung. Ich habe aber ein neues Thema geöffnet, da es sich jetzt um ein komplett anderen Fehler handelt. Ich habe irgendwo ein logischen Fehler im Programm, aber meine 2 Wochen Programmierkenntnisse reichen nicht aus um ihn zu Finden. Wenn ich den Button "ACHTUNG!!!" clicke, sollte er eigentlich mit dem 2. Timer alle Images unsichtbar machen und abwechselnd das Bild der ausgeschalteten Ampel und dann das Bild mit der oragen Ampel zeigen, aber er springt nicht von der Orangen Ampel auf die ausgeschaltete. Quellcode und Exe-Datei sind im Anhang
PS: Ihr habt in dem letzten Post SEHR nützliche Sachen geschrieben, doch dieses (Verbessertes) Project muss ich abgeben und da kommt es nicht so gut, wenn da Sachen drin stehen, die wir im Unterricht noch nicht gelernt haben.
Narses - Di 12.09.06 20:28
Moin!
Gidi hat folgendes geschrieben: |
Ich habe irgendwo ein logischen Fehler im Programm, aber meine 2 Wochen Programmierkenntnisse reichen nicht aus um ihn zu Finden. |
Hm, meinst du nicht, dass du dann besser mal mit deinem Lehrer reden solltest, weil:
a) ist er entweder seiner Aufgabe nicht gewachsen, euch den Stoff entsprechend gut zu präsentieren :mrgreen:, oder
b) bist du deiner Aufgabe nicht gewachsen, dieser Präsentation zu folgen :(, oder
c) beides, und dann gute N8. 8) :rofl:
Gidi hat folgendes geschrieben: |
PS: Ihr habt in dem letzten Post SEHR nützliche Sachen geschrieben, doch dieses (Verbessertes) Project muss ich abgeben und da kommt es nicht so gut, wenn da Sachen drin stehen, die wir im Unterricht noch nicht gelernt haben. |
Tja, genau da ist das Problem: wir machen für dich die Aufgaben, und du kommst damit nicht weiter... :| :(
Was habt ihr denn noch nicht gehabt, die Mengenoperationen? ;) Hast du denn meinen Ansatz verstanden? Die andere Alternative ist natürlich, du meldest dich "freiwillig" für eine Demonstration und präsentierst deinen Mitschülern den Ansatz so wie
hier [
http://www.delphi-forum.de/viewtopic.php?p=386112#386112]. Gibt sicher einen entsprechenden "Bonus" für dich. ;)
//EDIT: Hier ist übrigens die Lösung des Problems; was sich als extrem einfach darstellt, wenn der Ansatz gut gewählt ist:
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:
| procedure TForm1.Timer1Timer(Sender: TObject); begin if (cbAchtung.Checked) then Timer1.Tag := 9 +(Timer1.Tag mod 2) else Timer1.Tag := (Timer1.Tag +1) mod 8; SetState(Timer1.Tag); end;
procedure TForm1.SetState(const NewState: Integer); begin Rot1.Visible := NewState in [0,1,4..8]; Gelb1.Visible := NewState in [1,3,9]; Gruen1.Visible := NewState in [2]; Rot2.Visible := NewState in [0..5]; Gelb2.Visible := NewState in [5,7,9]; Gruen2.Visible := NewState in [6]; end; |
Einfach eine Checkbox mit Namen cbAchtung und Caption "Achtung" anlegen, fertig. ;)
Falls ihr die Mengenoperationen noch nicht hattet, man kann diese auch so darstellen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| Gelb1.Visible := NewState in [1,3,9];
Gelb1.Visible := FALSE; if ( (NewState = 1) or (NewState = 3) or (NewState = 9) ) then Gelb1.Visible := TRUE; |
cu
Narses
Gidi - Di 12.09.06 20:55
Narses hat folgendes geschrieben: |
Moin!
Hm, meinst du nicht, dass du dann besser mal mit deinem Lehrer reden solltest, weil:
a) ist er entweder seiner Aufgabe nicht gewachsen, euch den Stoff entsprechend gut zu präsentieren :mrgreen:, oder
b) bist du deiner Aufgabe nicht gewachsen, dieser Präsentation zu folgen :(, oder
c) beides, und dann gute N8. 8) :rofl:
cu
Narses |
Nee so ist das nicht. Wir sollen an Hand der gelernten Sachen ein Ampelprogramm schreiben. Je komplexer, desto besser.
Da gibt es die einen, die nur eine einzige Ampel abgeben werden und die anderen, die eine Kreuzung bauen.
Ich will was lernen und mache es mir dem entsprechend schwer. Was ich benutze sind alles Sachen, die ich verstanden habe und die wir auch schon gemacht haben. So hat das dann auch geklappt, bis es (mir unerklärlich) bei einer ähnlichen Opertation dann nicht mehr geklappt hat. Da ich den Fehler nicht finde was damit zusammenhängt, dass das Programm verstrickter ist, frage ich euch um zu lernen und meine Fehler zu verstehen. Ich habe weder verlangt, dass ich einen fertigen Quellcode bekomme, noch, dass ihr sonst auf irgendeiner Weise mir die Arbeit abnehmen sollt. Ich habe Informatik gewählt, damit ich etwas lerne und nicht, damit ich meine Arbeit von euch machen lasse. Sonst hätte ich mich ja nicht hier angemeldet.
Gruß Gidi
Narses - Di 12.09.06 21:31
Moin!
Gidi hat folgendes geschrieben: |
Ich habe weder verlangt, dass ich einen fertigen Quellcode bekomme, noch, dass ihr sonst auf irgendeiner Weise mir die Arbeit abnehmen sollt. |
Das ist richtig und ich möchte klarstellen, dass ich dir das auch nicht unterstellt habe! ;) Ich habe unaufgefordert Quelltext produziert... :?
Gidi hat folgendes geschrieben: |
Wir sollen an Hand der gelernten Sachen ein Ampelprogramm schreiben. Je komplexer, desto besser.
Da gibt es die einen, die nur eine einzige Ampel abgeben werden und die anderen, die eine Kreuzung bauen. |
Vielleicht hast du dich ja auch verschätzt mit dem, was du schaffen kannst? ;)
Gidi hat folgendes geschrieben: |
Ich will was lernen und mache es mir dem entsprechend schwer.
[...]
Ich habe Informatik gewählt, damit ich etwas lerne und nicht, damit ich meine Arbeit von euch machen lasse. Sonst hätte ich mich ja nicht hier angemeldet. |
Wäre es dann nicht sinnvoll, diese Art von Problemen gleich mal "standardisiert" zu lösen? :D
cu
Narses
raziel - Di 12.09.06 22:24
Hallo,
bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den
Richtlinien [
http://www.entwickler-ecke.de/richtlinien.html]:
1.2 Beiträge: |
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...] |
Einfach oben bei Deinem ersten Beitrag auf

klicken und den Titel ändern. Danke Dir!
Viele Grüße,
raziel
butterfly017 - Fr 15.09.06 15:13
Titel: Timer
Leute wie schreibe ich einen timer für ne Uhr? haben das im Infounterricht und ich hab soo keine ahnung..
Wäre echt suuuper nett wenn mir jemand helfen könnte =/
Jetstream - Fr 15.09.06 15:42
Neue
Frage
neues
Topic
... oder die Suchfunktion benutzen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!