NEWS
Mehrere oder oder und
-
Hallo zusammen,
ich versuche mir aktuell ein Blockly zu bauen welches zwei Werte mit oder prüft und eins mit und. Aktuell sieht es wie folgt aus
Leider wird "Mail_modus_rechts" immer auf true gesetzt. Das verstehe ich einfach nicht denn "Energieplan-Einstellung" ist aktuell "6". Nach meinem Verständnis sollte er also in "sonst falls" springen und "Mail_modus_rechts" auf "false" setzen. Eventuell verstehe ich aber auch "Oder Oder" irgendwie falsch.
Wenn das funktioniert würde oben in der "mache" Anweisung noch ein Mail send einbauen das habe ich auch am laufen in einem anderen Blockly. Das sieht wie folgt aus und war "einfacher" weil nur zwei "Und" Bedingungen
-
@romestylez erst einmal hast du offene Docks.
das gibt Ärger.zweitens ist der Wert = 6 gleichzeitig !=9 was zum wahr des ersten Teils führt
-
@romestylez sagte in Mehrere oder oder und:
Leider wird "Mail_modus_rechts" immer auf true gesetzt.
Na das ist doch auch immer richtig. Wenn es was ungleicht 6 und 9 ist es wahr. Wenn es 6 ist, dann ist es auch wahr, weil ungleich 9 und wenn es 9 ist, ist es auch wahr, weil es ungleich 6 ist. Also es ist einfach IMMER wahr.
Also ist Deine Logik falsch.
-
@homoran triggert mich auch bekomme ich aber nicht weg
Mhhh... stimmt du bzw. ihr habt Recht. Ich wollte halt etwas triggern wenn der Wert ungleich 6 und ungleich 9 ist
-
@romestylez sagte in Mehrere oder oder und:
@homoran triggert mich auch bekomme ich aber nicht weg
Mhhh... stimmt du bzw. ihr habt Recht. Ich wollte halt etwas triggern wenn der Wert ungleich 6 und ungleich 9 ist
warum schreibst du dann oder?
-
@homoran ja stimmt wohl... Den Wald vor lauter Bäumen nicht gesehen ich habe es nun so
Jetzt springt der Status hin und her. Bin ich denn gerade völlig deppert ?
-
@romestylez sagte in Mehrere oder oder und:
Bin ich denn gerade völlig deppert ?
Was soll ich dazu sagen
@romestylez sagte in Mehrere oder oder und:
Jetzt springt der Status hin und her
Dann gib mal ein paar Infos was hinter den Datenpunkten steckt.
Außerdem ist immer noch ein Dock unbesetzt -
@homoran sorry hab den offenen dock entfernt
Energieplan-Einstellungen = Zahl = 7 (aktuell)
Mail_modus_rechts = Boolean = true/falseIch habe jetzt unten mal das "und" nach vorne gesetzt
Jetzt scheint es zu funktionieren. Ich teste noch mal intensiver. Verstehe zwar nicht wieso das "und" oben stehen muss aber gut
-
@romestylez sagte: Verstehe zwar nicht wieso das "und" oben stehen muss
Es muss nicht oben stehen, sondern Priorität haben.
Besser so: -
@paul53 aber scheinbar muss es oben stehen denn andersrum hats nicht geklappt
Ich bin kein Blockly Profi aber habe eine Ahnung was du dort machst mit Variablen etc.
Ich habs nun so und das funktioniert wie gewünscht
-
@romestylez sagte: scheinbar muss es oben stehen
Es muss links stehen, z.B. auch so:
So werden weniger Ressourcen verbraucht:
-
@paul53 puh okay ich sehe schon ich verstehe Blockly eigentlich gar nicht. Da bin ich zumindest froh das meine 20 Scripte bisher laufen
Ich will aber nicht wissen wie viel besser man sie noch machen könnte. Ich wusste nicht das wenn es links steht es weniger Ressourcen braucht.
Ich verstehe ich wie gesagt bisher nicht wieso "oder" und dann daran "und" nicht funktioniert hat ein "und" mit den beiden "oder" dran geht es dann. Aber bei mir ist das beim Blockly meistens eh try and error.
Danke euch schon mal für die Hinweise und Anregungen !
-
@romestylez sagte in Mehrere oder oder und:
ch verstehe ich wie gesagt bisher nicht wieso "oder" und dann daran "und" nicht funktioniert hat ein "und" mit den beiden "oder" dran geht es dann. Aber bei mir ist das beim Blockly meistens eh try and error.
Als erstes mal aus deinem ersten Skript:
Energieplaneinstellung ist ungleich 6
oderEnergieplaneinstellung ist ungleich 9
oderMailModus ist falsch
Nach reiner Logik ist das wahr sobald mindestens einer davon wahr ist. Also ist egal welcher Wert erreicht wird und wie MailModusl steht. AlleineEnergieplaneinstellung ungleich 6
* oder *Energieplaneinstellung ungleich 9
ist immer erfüllt, sprich das Ergebnis ist immer Wahr.Das Umstellen auf diese Bedingung sorgt dafür das es funktioniert.
Energieplaneinstellung ist ungleich 6
undEnergieplaneinstellung ist ungleich 9
undMailModus ist falsch
Diese Bedingung ist wahr wenn alle Einzelbedingungen wahr sind.
Wert ist gleich 6
oderWert ist gleich 9
oderMailModus ist wahr
Hier ist es so das sobaldMailModus ist wahr
erfüllt ist ist es egal welchen Wert die Energieplaneinstellung hat - deswegen kommt dein 2. Versuch ins hin- und her wechseln. Schliesslich hattest du ja gesagt das Energieplaneinstellung 6 ist, und dann setzt Du den MailModus auf wahr. Damit ist der Falls Zweig beim nächsten Durchlauf nicht erfüllt, und im Sonst-Falls istMailModus ist wahr
erfüllt, und damit ist der Sonst-Falls Zweig wahr.Bleibt also das was funktioniert
MailModus ist wahr
und (Wert ist gleich 6
oderWert ist gleich 9
)Die Klammern sind dabei das wichtige. Sie sorgen dafür das das ganze geht.
Umgekehrt kannst du also aus einer Aufstellung von Bedingungen direkt Blockly-Blöcke bauen, solange Du die Bedingungen vorher logisch sauber sortierst und mit Klammern versiehst. Dann darf alles was sich in einer Klammer befindet auch in einen Logik Block bei Blockly eingeklinkt werden.
Ich hoffe das Hilft ein Wenig.
A.
-
@asgothian vielen vielen Dank ! Ich habe da etwas anders gedacht. Ich danke dir auf jeden Fall !