Suchergebnisse

Suchergebnisse 1-14 von insgesamt 14.

  • Benutzer-Avatarbild

    Gegenfrage: Wie realitätsgetreu soll denn das Ganze werden? Mach mal (für Dich) ne detaillierte Beschreibung des Ablaufs. Daraus ergeben sich meist automatisch einzeln zu lösende Probleme. Ok, hast Du ja schon teilweise in Post#11 Zitat von Amelie: „Bei Behebung einer Störung, welche durch einen Schalter simuliert wird“Was ist hier für Dich ein Schalter? Ein Button auf nem Form? Ein Gerät, welches Du am Computer betätigst? Ein Schalter an einer Ampel vor Deiner Wohnung? Welche Relevanz haben für…

  • Benutzer-Avatarbild

    @Amelie: Vielleicht eine alternative Antwort: Mit Datenmodellierung ist gemeint, dass Du (erst z.B. mit Stift+Papier, später mit Code) genau die Eigenschaften einer Sache beschreibst. Welche Dinge sind für die Sache in Deinem Programm relevant? Muss man wissen, wie groß die Ampel ist, wie schnell sie umschaltet, welche Signalfarben sie hat, wer der Hersteller ist? Eine Ampel hat so viele Eigenschaften in der Realität. Aber welche davon sind für Dein Programm wichtig? Welches Verhalten willst Du …

  • Benutzer-Avatarbild

    Denn, auch wenn ich keine Ahnung vom Thema habe, eine Ampel kennt ihre Taktung nicht. Sie bekommt sie von außen zugesandt. Wie alle anderen Ampeln (an der Kreuzung) auch. Es kommt ja kein Techniker bei Störungen vorbei und fummelt an allen Ampeln rum, um sie in den Gelb-Blink-Modus zu versetzen. Also: Datenmodell nochmal überdenken.

  • Benutzer-Avatarbild

    Und dann von mir noch ein Wunsch: Wie sieht denn das Datenmodell aus? Will heißen: Zeig mal bitte für den Anfang Deine Ampelklasse.

  • Benutzer-Avatarbild

    Modul: Fast gar nicht. Klasse: Bauplan für Objekte, also Objektbeschreibung. Bei Dir fängt es also beim Programmieren* (am besten in einer eigenen Datei) mit VB.NET-Quellcode (2 Zeilen)an. *was aber erst der Schritt nach dem Überlegen ist, was ne Ampel in Deinem Programm charakterisiert und können muss.

  • Benutzer-Avatarbild

    Ampelstatus ist Teil der ampel-Klasse. Und dann ist es noch Private deklariert. Daher haben andere Klassen eh keinen Zugriff darauf. Aber auch wenn ampelstatus statt Private eben Friend oder Public wäre, dann will der Compiler auch wissen, wovon Du den ampelstatus setzen willst. Du musst erstmal eine Ampel mithilfe von New "konstruieren" (oder anders genannt: eine Ampel instanziieren), damit in Deinem Programm überhaupt erstmal ne tatsächliche Ampel exisitert. Und wenn Du dann 4 Ampeln hast, wil…

  • Benutzer-Avatarbild

    Zitat von Amelie: „Dann ist käfig noch immer nicht erreichbar? Wofür ist dann das Boolean besser gesagt der Zustand des Boolean gut????“ Wenn käfig wie in Deinem Beispiel mit Public deklariert ist, ist es auch von außen abrufbar. Aber es ist ja auch eine Eigenschaft* des Hamsters. Naja, Du willst irgendwas über die Ampel aussagen. Nicht über die Straße, nicht über die Verkehrsteilnehmer. ampelstatus beschreibt einen Teil der Ampel. Und käfig beschreibt … öhm … den Haltungszustand des Hamsters (?…

  • Benutzer-Avatarbild

    Zitat von Amelie: „Ja was ist die Ampel auf der Strasse / Kreuzung? Nur eine "Ampel"“Ja, das sehe ich auch so. Eine Ampel-Instanz ist genau eine einzige Ampel, so (ähnlich) wie im Bild zu sehen. Und das ist der Knackpunkt. Wenn eine Ampel die Eigenschaft ampelsteuerung hat, wie soll dann das Programm wissen, welche Ampel Du mit VB.NET-Quellcode (6 Zeilen)ansteuern willst? Es besteht ja noch nicht mal ein Bezug zu einer Ampel. Daher weiß der Compiler ja noch nicht mal, dass Du die Ampeleigenschaf…

  • Benutzer-Avatarbild

    StackOverflowException = fast immer Rekursion. Ablauf bei Dir: Dim aufruf As New steuerung -> ein steuerung-Objekt namens aufruf wird erstellt Dazu gehört: eine AutoAmpel1 und eine FussAmpel1 (was ist ne Fußampel?) Beide sind vom Typ steuerung und werden gleich mit New instanziiert. Öhm … ja. Und dann wiederholt sich das. Da AutoAmpel1 selber wieder eine steuerung ist und somit selber wieder eine AutoAmpel1 und eine FussAmpel1 hat und die wieder instanziiert werden … Endlosschleife. Da stimmt (j…

  • Benutzer-Avatarbild

    zeit = +1 = zeit = 1 Du willst wohl zeit += 1 Aber ganz schnell (wenn zeit = 4) kommt eine IndexOutOfRangeException. Daher ggf. zeit = (zeit + 1) Mod 4, damit zeit nach 3 wieder bei 0 beginnt

  • Benutzer-Avatarbild

    Zitat von Amelie: „Klicke ich dann auf Ausschalten oder Störung kommen die Timer irgendwie durcheinander.“Was soll das konkret heißen? Wenn man [aus]/[Störung] klickt und dann wieder auf [ein], fängt alles von vorne an. Wenn man auf [Störung] klickt, bleibt kurz die Autoampel auf der bisherigen Position, bis sie gelb blinkt. Daher besser beide Labels unsichtbar machen, dann den Timer2 stoppen, dann Interval auf 1 setzen. Aber die Timer passen mit dem gezeigten Code. Meines Erachtens.

  • Benutzer-Avatarbild

    Wenn man auf [Störung beenden] klickt, sollte doch normalerweise wieder alles auf normal laufen. Aber derzeit muss man nochmal auf [einschalten] klicken. btw: FAmpelPhase = CType(FAmpelPhase + CType(1, FAmpelPhasen), FAmpelPhasen) -> FAmpelPhase = CType(FAmpelPhase + 1, FAmpelPhasen) (kürzer) Insgesamt scheint es zwar zu klappen, aber gut skalierbar ist das ganze (noch) nicht. Also im Sinne von: Mehr Ampeln dazupacken - falls das noch eine Rolle spielt.

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „Was ich übrigens gut finde, dass die Logik jetzt in Objekten abgebildet ist, die ganz unabhängig vonne Oberfläche sind“Welches Projekt nutzt Du? Im Code von Post#74-Upload gibt es zwar n Haufen Einzelvariablen, die danach schreien, endlich in ein eigenständiges Objekt auswandern zu wollen, aber außer der frm_main-Klasse sehe ich keines.

  • Benutzer-Avatarbild

    Indem Du das, was nur die Autoampel beschreibt, erstmal aufspürst. Das wird in eine Klasse verschoben, also quasi in ein Paket geschnürt. Eine Klasse fängt bei Friend Class DerKlassenname and und hört bei End Class auf. Zwischen diese Zeilen wird all das gesteckt, was die Klasse beschreibt. Vor allem (aber nicht nur) das, was nur die Klasse selber was angeht. Ja, die Außenwelt muss wissen, welches Licht gerade bei der Ampel leuchtet. Aber Zeitabstände zwischen den Phasen stehen an keiner Straßen…