NEWS
Anfänger if und if else
-
Hallo,
ich schon wieder :-(Habe mir mal eine vergleich abfrage gebastelt, aber irgendwie bleib meine abfrage immer in einer hängen bis ich das script neu starte:
const wert_1 = getState("javascript.0.Test.wert_1").val; const wert_2 = getState("javascript.0.Test.wert_2").val; on(wert_1 || wert_2, function (obj) { if (istwert >= vorgabe_ID4_min) { {setState(sollwert, getState(sollwert_ID4).val) } } else if (istwert >= vorgabe_ID3_min) { {setState(sollwert, getState(sollwert_ID3).val) } } else if (istwert >= vorgabe_ID2_min) { {setState(sollwert, getState(sollwert_ID2).val) } } else if (istwert >= vorgabe_ID1_min) { {setState(sollwert, getState(sollwert_ID1).val) } } else if (istwert >= 1) { {setState(sollwert, 30); //ersatzwert } } });Ich will eigentlich immer den grössten vergleich nutzten.
Bin wahrscheinlich komplett daneben oder? -
Hallo,
ich schon wieder :-(Habe mir mal eine vergleich abfrage gebastelt, aber irgendwie bleib meine abfrage immer in einer hängen bis ich das script neu starte:
const wert_1 = getState("javascript.0.Test.wert_1").val; const wert_2 = getState("javascript.0.Test.wert_2").val; on(wert_1 || wert_2, function (obj) { if (istwert >= vorgabe_ID4_min) { {setState(sollwert, getState(sollwert_ID4).val) } } else if (istwert >= vorgabe_ID3_min) { {setState(sollwert, getState(sollwert_ID3).val) } } else if (istwert >= vorgabe_ID2_min) { {setState(sollwert, getState(sollwert_ID2).val) } } else if (istwert >= vorgabe_ID1_min) { {setState(sollwert, getState(sollwert_ID1).val) } } else if (istwert >= 1) { {setState(sollwert, 30); //ersatzwert } } });Ich will eigentlich immer den grössten vergleich nutzten.
Bin wahrscheinlich komplett daneben oder?@mike1976 bissel zu viele klammern...
const wert_1 = getState("javascript.0.Test.wert_1").val; const wert_2 = getState("javascript.0.Test.wert_2").val; on(wert_1 || wert_2, function (obj) { if (istwert >= vorgabe_ID4_min) { setState(sollwert, getState(sollwert_ID4).val) } else if (istwert >= vorgabe_ID3_min) { setState(sollwert, getState(sollwert_ID3).val) } else if (istwert >= vorgabe_ID2_min) { setState(sollwert, getState(sollwert_ID2).val) } else if (istwert >= vorgabe_ID1_min) { setState(sollwert, getState(sollwert_ID1).val) } else if (istwert >= 1) { setState(sollwert, 30); //ersatzwert } });Tipp: gewöhne dir an Code zu formatieren
-
on({id: "javascript.0.Test.wert_1"}, function (obj) { if (sollwert>= vorgabe_ID4_min) { setState(sollwert, getState(sollwert_ID4).val) } else if (sollwert>= vorgabe_ID3_min) { setState(sollwert, getState(sollwert_ID3).val) } else if (sollwert>= vorgabe_ID2_min) { setState(sollwert, getState(sollwert_ID2).val) } else if (sollwert>= vorgabe_ID1_min) { setState(sollwert, getState(sollwert_ID1).val) } else if (sollwert>= 1) { setState(sollwert, 30); //ersatzwert } }); if (sollwert>= vorgabe_ID1_min) log(sollwert_ID1); if (sollwert>= vorgabe_ID2_min) log(sollwert_ID2); if (sollwert>= vorgabe_ID3_min) log(sollwert_ID3); if (sollwert>= vorgabe_ID4_min) log(sollwert_ID4);hmm... die vergleiche kommen zu stande,
aber die sollwert übergabe bleibt immer in einem vergleich hängen und
erst wenn ich das script neustarte geht er in den next richtigen vergleich.ist der ablauf nicht so:
1.) on({id: "javascript.0.Test.wert_1"}, bei wert änderung
2.) code wird abgearbeitet von oben nach unten und alle vergleiche werden neu ausgewertet.Habe mal bewusst "on(wert_1 || wert_2," weggelassen weil bei den tut sich gar nichts.
-
Hey,
Punkt 1 ist soweit richtig.
Wenn du die folgenden Zeilen meinst, die nur einmalig ausgeführt werden, dann ist die Annhame richtig, da diese nur einmal beim starten durchlaufen werden. Anderfalls müsstest du sie in den on() Teil mit einbauen.
if (sollwert>= vorgabe_ID1_min) log(sollwert_ID1); if (sollwert>= vorgabe_ID2_min) log(sollwert_ID2); if (sollwert>= vorgabe_ID3_min) log(sollwert_ID3); if (sollwert>= vorgabe_ID4_min) log(sollwert_ID4);J.A.R.V.I.S.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden