Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Logikbaustein Verständnisfrage (Zahl zw. min/max)

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Logikbaustein Verständnisfrage (Zahl zw. min/max)

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Homoran last edited by Codierknecht

      @homoran
      Manchmal bin ich auch Erbsenzähler 😁 😁 😁

      0a1d43a2-44c4-440d-a463-16c3365473da-image.png

      metaxa 1 Reply Last reply Reply Quote 0
      • metaxa
        metaxa @Codierknecht last edited by

        @codierknecht & @MartinP & @Homoran 'kopfkratz'

        Lieben Dank für die Erklärungen und ja, ein wenig Klarer 🙂

        Ihr habt natürlich völlig recht, mich irretiert nur das fehlende "="

        8514d088-df3e-4bef-a7b9-fe1c46e94271-image.png
        Blockly als Code:

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="wcKSpFFh`tZ}){]1^!iH">a</variable>
          </variables>
          <block type="variables_set" id="x:i~VR=F-Soq@6qlALi:" x="-162" y="63">
            <field name="VAR" id="wcKSpFFh`tZ}){]1^!iH">a</field>
            <value name="VALUE">
              <block type="math_number" id="#=0xTrzd.3?[Vwp}Smol">
                <field name="NUM">-23</field>
              </block>
            </value>
            <next>
              <block type="controls_if" id="S-XPryf5yt0opA1K.3ou">
                <mutation else="1"></mutation>
                <value name="IF0">
                  <block type="logic_between" id="W;rz=?wr+X#o_(.St9-=">
                    <field name="MIN_OPERATOR">LE</field>
                    <field name="MAX_OPERATOR">LE</field>
                    <value name="MIN">
                      <block type="math_number" id="6m]fC!w[T+Aa^*5:yIrS">
                        <field name="NUM">0</field>
                      </block>
                    </value>
                    <value name="VALUE">
                      <shadow type="math_number" id="E-HK/0G8i!z@lG1G{GLr">
                        <field name="NUM">42</field>
                      </shadow>
                      <block type="variables_get" id="GTqI|2%J-:q$B9G$RUc7">
                        <field name="VAR" id="wcKSpFFh`tZ}){]1^!iH">a</field>
                      </block>
                    </value>
                    <value name="MAX">
                      <block type="math_number" id="DBMh,tTG8G?|n6[A4QPO">
                        <field name="NUM">100</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="debug" id="fAF7SAfn{-wC6+a5QU!P">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                      <shadow type="text" id="J#dGU:r~1r]$Z1+hteet">
                        <field name="TEXT">a ist in der Range</field>
                      </shadow>
                    </value>
                  </block>
                </statement>
                <statement name="ELSE">
                  <block type="debug" id="S_w+.Yl*LiEz*]Z6`ic-">
                    <field name="Severity">log</field>
                    <value name="TEXT">
                      <shadow type="text" id="P]*Qt1-mq=BSxCe2A42s">
                        <field name="TEXT">a ist außer der Range</field>
                      </shadow>
                    </value>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </xml>
        

        Homoran MartinP 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @metaxa last edited by

          @metaxa ich weiss nicht ob die korrekte Aussage von @Codierknecht auch beabsichtigt ist.
          Ich fände es sinnvoller wenn die Beschreibung nicht "zwischen" sondern "in den Grenzen von" lauten würde und damit auch <= und >= verfügbar wären.

          metaxa Codierknecht 2 Replies Last reply Reply Quote 1
          • metaxa
            metaxa @Homoran last edited by metaxa

            9671f029-8936-4c7a-8a05-1d25ea50e9b6-image.png
            So funktioniert es eben nicht

            4aa4df88-d69d-465f-bf77-cd47007632fa-image.png

            Deswegen intuitiv auch "<=".

            1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @Homoran last edited by

              @homoran
              Es ist sowohl "<" als auch "<=" verfügbar.

              dcb4c44f-1f44-44a1-87f2-f40d853b2eda-image.png

              @metaxa
              Wenn die 100 auch "erlaubt" sind, nimm "<="

              Homoran 1 Reply Last reply Reply Quote 1
              • Homoran
                Homoran Global Moderator Administrators @Codierknecht last edited by

                @codierknecht und wenn jetzt noch die 0 zusätzlich erlaubt sein soll?

                metaxa Codierknecht 2 Replies Last reply Reply Quote 0
                • metaxa
                  metaxa @Codierknecht last edited by

                  @codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                  @homoran
                  Manchmal bin ich auch Erbsenzähler 😁 😁 😁

                  0a1d43a2-44c4-440d-a463-16c3365473da-image.png

                  😁 😀 😁

                  1 Reply Last reply Reply Quote 1
                  • metaxa
                    metaxa @Homoran last edited by

                    @homoran
                    249c0cab-1782-440b-9b8d-34008330b5ee-image.png

                    1 Reply Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @Homoran last edited by

                      @homoran sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                      @codierknecht und wenn jetzt noch die 0 zusätzlich erlaubt sein soll?

                      1640d8e8-061c-4ab7-8a18-1619fafa6a19-image.png

                      Das "zwischen" ist tatsächlich Definitionssache.
                      "In den Grenzen von" trifft's da vielleicht wirklich besser.

                      1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP @metaxa last edited by MartinP

                        @metaxa diese Schreibweise a0ec5e17-d37d-45b0-be2a-dedf46811a2b-grafik.png ist die Kombination auch "<="

                        Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                        Auch, wenn man links einen größeren Wert als rechts eingibt, ändert sich die beschränkte Auswahl nicht entsprechend ...

                        c03d0a4e-bac1-4364-b196-a318294de332-grafik.png

                        Homoran Codierknecht 2 Replies Last reply Reply Quote 1
                        • Homoran
                          Homoran Global Moderator Administrators @MartinP last edited by

                          @martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                          Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                          jepp!
                          Das ist anscheinend der Punkt

                          1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @MartinP last edited by

                            @martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                            Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                            Was eigentlich auch ziemlich logisch erscheint 😉
                            OK - außer vielleicht in Sprachen, die von rechts nach links lesen.

                            Es gibt ja auch Leute, die Formulieren ein if so:

                            if (42 == var)
                            

                            Also ob ein Wert der Variablen entspricht.

                            Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:

                            if (var == 42)
                            

                            Ich persönlich finde die erste Variante ein wenig seltsam.
                            Aber auch das ist Geschmacksache.

                            Homoran metaxa MartinP 3 Replies Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @Codierknecht last edited by Homoran

                              @codierknecht ich hab da mal was vorbereitet 🙂

                              hab's erstmal wieder deaktiviert
                              Screenshot_20240219-120805_Firefox.jpg

                              1 Reply Last reply Reply Quote 0
                              • metaxa
                                metaxa @Codierknecht last edited by

                                @codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                                Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:
                                if (var == 42)

                                Ich persönlich finde die erste Variante ein wenig seltsam.
                                Aber auch das ist Geschmacksache.

                                Perfekt! Genau da lag mein Unverständnis!

                                Lieben Dank für diese spontane und rege Debatte!!!
                                mxa

                                1 Reply Last reply Reply Quote 1
                                • MartinP
                                  MartinP @Codierknecht last edited by MartinP

                                  @codierknecht Vor JAHREN habe ich mal ein Buch über C-Programmierung gelesen, da wurde geraten, die Konstante eher auf die linke Seite der Abfrage zu stellen:

                                  Wenn man versehentlich statt "(var==42)" "(var=42)" schreibt, gibt es keinen Fehler, aber bei (42=var) gibt es einen Fehler ... Habe ich aber eher auch nur selten praktiziert ...

                                  Codierknecht 1 Reply Last reply Reply Quote 0
                                  • Codierknecht
                                    Codierknecht Developer Most Active @MartinP last edited by

                                    @martinp
                                    Ja - da (also in C, C++, C#, JS usw.) macht das sogar Sinn.
                                    Aber meine Kernkompetenz ist eigentlich Delphi - da wird eine Zuweisung als := formuliert.
                                    So kann da auch nix passieren 😉

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    824
                                    Online

                                    32.0k
                                    Users

                                    80.4k
                                    Topics

                                    1.3m
                                    Posts

                                    blockly
                                    4
                                    22
                                    839
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo