Ampelschaltung, Probleme beim zurücksetzten

  • VB.NET

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von milaim.

    Ampelschaltung, Probleme beim zurücksetzten

    Hallo Zusammen,

    erstmal meine Situation: Tatsächlich bin ich Studentin und muss eine Ampelschaltung in VB2008 realisieren. Das meiste hab ich auch schon hin bekommen, zwar nicht sonderlich elegant, aber es funzt.

    Jetzt hab ich aber ein Problem.
    Ich hab eine Reihe von PB's, insg. 28, die sich halt während des Vorgangs wie 'Lampen' ein oder aus schalten. In meiner Grundeinstellung hab ich ein paar visible und nen paar eben nicht.
    So weit so gut, jetzt schalten die ja hin und her, ich möchte aber, dass wenn ich nen Button 'Abbrechen' drücke sich nicht einfach nur die Sub beendet sondern auch meine Ursprungseigenschaften zurück setzten.

    Ich glaube dass es dafür irgendwas einfaches gibt, nur da ich keine Ahnung von der Programmier-Sprache habe und eher alles logisch löse, fehlt mir der Ausdruck. Ich glaube auch, dass ich das mit Google irgendwie finden könnte, nur weiß ich nicht wie man das nennt.

    Bitte helft mir, und seid gnädig, ich hab's ja alleine versucht.
    Nur 28 Eigenschaften manuell zurück zu setzten ist irgendwie echt daneben.
    Kann sein, dass ich später noch 1-2 Fragen mehr hab.
    Danke!
    Du kannst deine Steuerelemente in ein Array packen und dir den Ursprungszustand ebenfalls in einem Array merken. Dann musst du in einer For-Schleife nur das eine Array ablaufen und die Werte in die Eigenschaften der Steuerelemente des anderen schreiben.

    Aus welchem Studiengang kommst du denn? Ich frage, weil mich interessiert, wo man VB zum Programmieren verwendet. Ich tippe mal, dass es eher fachfremd ist? :D
    wow, danke erstmal für eure echt schnellen Antworten!

    Also ich studiere Wirtschaftsingenieurwesen im Internationalen Studiengang und werde das ganze hoffentlich nie wieder brauchen.
    Ich denke, dass es uns eher spezielle Gedankengänge in der Informatik verdeutlichen soll...naja

    Und da ich damit wohl noch nicht so gut klar komme, hab ich auch nicht ganz so die Ahnung was ihr mir grade erzählt habt.
    Ich habe nur den Verdacht, dass es irgendwie bedeutet...(nicht böse sein,ich kanns halt einfach nicht)... dass ich die Einstellungen die ich zu Anfang habe einzeln in eine gewisse 'Variable' setzten muss um die dann am ende wieder an zu gleichen.

    Aber kann ich nicht auch einfach sagen, alle Attribute die ich zu Anfang eingegeben hab sollen jetzt wieder so sein?
    Weil mir ist ja egal obs jetzt nur die Bilder sind oder alles...

    Danke!!
    Also wenn ich es manuell machen würde, dann würde ich halt PB.Visible nur verändern, aber das wäre ja bei 28 PB's 28 Einstellungen... Ich würde mich ja auch zufrieden geben, wenn das Programm dann einfach wieder insgesamt alle Attribtue so hat, wie wenn ich das ganze Starte, also einfach wieder alles so wie es war als ich das Programm geöffnet hab.
    Also wenn niemand den Stil deines Codes bewertet, würde ich es einfach manuell machen... es lohnt sich in meinen Augen nicht, wenn du das lernst.
    Ansonsten müsstest du halt ein Kapitel über Arrays in einem der verlinkten kostenlosen VB-Tutorials (siehe den entsprechenden Thread) durcharbeiten...
    Oh mann, wenn ihr noch mehr mit Vb macht dann viel Spaß ;)

    @Pes1899.vb: Ich denke mal die .Visible Eigenschaft der PictureBoxen sollen zurückgesetzt werden.

    @PunuaPoaka: Warum eigentlich 28 PictureBoxen? Ich würde eine Ampel entweder mit 3 oder mit 1er Picturebox(en) machen.

    Mfg
    Firestorm
    Ist halt ne Kreuzung mit je zwei Ampeln für Autos pro Straße, macht 2*2*3= 12 und pro Übergang 2 Ampeln für Fußgänger 2*4*2=16 Das macht 28 Lämpchen...ne das ist halt unsere Note fürs Modul, also keine weiteren Experimente mit irgendwelchen Programmen:)

    Ok, vielen Dank dann mach ich das wirklich vielleicht für jedes Teil einzeln.
    Hm, aber ich hab mir das irgendwie so vorgestellt, dass sich mein Programm wenn ich es öffne die Attribute, die ich ja eingestellt habe schon irgendwo gemerkt hat und dass man halt so was sagen kann wie : geh zurück zu der Anfangssituation...
    Für was brauchst du 28 PB, hast du ein virtuellen stadt aufgebaut. ^^
    Für ein Ampel Brauchst du höchstens 3 Picturebox und du muß nicht jeder PB ein oder ausblenden.
    Am enfachsten du fügst in dein Projekt "ImageList" (fidest in ToolBox). In ImageList addest du deine drei farbiege bilder z.b farbige kreise rot, gelb, grün.
    Bilder kannst du aus ImageList per Index anzeigen.
    Ich würde eine Umschaltung Funktion schreiben. Diese Funktion kannst du nach deine wünsche in Button oder in Form load aufrufen.
    Dazu brauchst noch funktion Abbrechen, die speichert variabel die letzte angesprochene index in ImageList, damit wieder beim start die umschaltung vorgesetzt kann, oder du startest die umschaltung neu.
    Du kannst alles in zwei Funktionen aufteilen oder du schreibst alles in eine Funktion, das ist dir überlassen !

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Alex2000“ ()

    ?! Aber eigentlich funktioniert alles ganz toll..und ich bräuchte doch sonst 4 Bilder pro Ampel, weil ich doch die Zustände, Schwarz, rot ,rotgelb, und grün anzeigen muss, nur müsste ich mir da überlegen welches oben liegen darf und so...

    in der normalen schaltung schalten sich auch pro Situationssprung nur einzelne Bilder/Lampen an oder aus, was es halt recht kurz macht... nur wenn ich den Abbrechen BT klicke bleibt es halt bisher bei jeder beliebigen Situation stehen.
    Deshalb muss ich ja jetzt anscheinend doch alles Attribute einzeln auf die gewünschten(vorher schon dagewesenen) Einstellungen setzten...Naja aber dann mach ich das halt einfach so...

    Ich danke allen für die Hilfe!
    Hi, ich hab da mal was in der Berufsschule machen müssen bezüglich einer Ampelsteuerung.
    Da hatten wir einen Zustandsdiagramm und mussten das programmiertechnisch umsetzen.
    Ich würde dir gern das Projekt zur Verfügung stellen, da ich es nur in der Schule gebraucht habe.
    Eine Bedingung würde ich dann doch gerne stellen..
    Versuch den Code nicht zu kopieren sondern nachzuvollziehen, damit du es bei dir anwenden kannst. Das wäre dann sonst nicht der Sinn des lernens und verstehens.
    Dann werde ich dir natürlich gerne bei Fragen dazu, wenn du was nicht verstehen solltest, zur Verfügung stehen. Ehrlichgesagt erwarte ich das sogar, denn dann weiss ich, dass du den Code nachvollziehen willst.

    Vielleicht ists nicht das beste Projekt aber dir wird es meiner Meinung nach sicherlich helfen.

    Hier der Downloadlink: shqiponja-design.ch/downloads/Ampelsteuerung.zip

    Noch einpaar Hinweise: Schau dir die Klasse cAmpel mal an.
    Und ja, bei mir war es nur eine Picturebox..

    //EDIT: Link gefixt.
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „milaim“ ()

    Erstmal ganz lieben Dank, vielleicht kann ich davon teile ja wirklich in meine Schaltung einfließen lassen...
    auf den ersten Blick hab ich zwar noch nicht sooo viel verstanden, aber ich bin da zuversichtlich:)
    Werd mich da wohl heute Nachmittag noch mal genauer mit befassen.
    Wenn ich dass dann irgendwie in meine Schaltung integriert habe(Also die Teile die ich brauche:) ) oder ich fragen hab darf ich mich an dich wenden, ja?

    Aber auch an alle Andren ganz lieben Dank:) hätte gedacht ich wäre hier als Anfänger sehr verloren, aber dem war ja nicht so.
    Ja sicher.. Wenn du da was nicht verstehst einfach mal hier Bescheid sagen.
    Wie gesagt, es war ein Schulprojekt und ich hab mir da nicht die große Mühe gemacht wie in meinem Abschlussprojekt oder sonstige dinge die ich auf der Arbeit entwickeln muss, aber als Ansatz wirds dir sicherlich helfen.
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer