If NOT über variable

  • Nein, die Antwort von @AspirinJunkie wird nicht ignoriert und dass die Checkbox Abfrage falsch ist, ist mir auch klar. Ich weiss, dass man dafür
    BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) benötigt. Aber in dem Moment hab nicht daran gedacht das zu korrigieren.
    Zu dem Zeitpunkt war ich immer noch dabei zu begreifen, was der TE eigentlich vor hat. Ob ihr es nun glaubt oder nicht, ich habe auch gewittert, dass hier ein XY Problem vorliegt.

    Weil ich selber aber meine liebe Not habe mit BitXOr, BitShift, Bit... benutze ich die nicht wenn ich nicht zwingend muss. Ich bin der Meinung, dass man den Code verstehen können muss, den man verwendet!
    Das halte ich persönlich sogar für ziemlich wichtig. Und da der TE mehrfach darauf hingewiesen hat, dass er Switch-Case nicht versteht stelle ich mal die Behauptung auf, dass er auch BitXor nicht versteht!

    Darum habe ich ihm Switch-Case näher mit Beispiel erklärt. Gut, der Code wird dadurch um ein paar Zeilen länger, aber WAS ist daran falsch??

    • Offizieller Beitrag

    Lottich: Du musst Dich gar nicht angegriffen fühlen. Deine "Lösung" mit Switch...Case könnte durchaus viel besser sein.

    Es geht in erster Linie gegen den TE, der nicht in der Lage ist, das eigentliche Problem zu schildern. Wir raten und basteln an seinem Beispiel herum.
    Ich denke aber, dass das eigentliche Problem viel einfacher zu lösen wäre, wenn wir es denn jemals erfahren werden...
    Jedenfalls habe ich bei meinen Programmen noch nie ein "geschaltetes NOT" benötigt. Mir fällt auch kein Anwendungsfall dafür ein.
    Schon allein deswegen würde mich das eigentliche Problem interessieren.

  • Das BitXor() ist nichts als eine Verkettung zweier Ifs, wo du den Negat-Operator selbst setzen kannst.
    Das Beispiel:

    Noch eine kleine Ergänzung:
    Du beziehst dich ja nur auf eine Aussage, und es soll beide Male das Gleiche gemacht werden, lediglich soll das "Not" variabel gesetzt werden, richtig?
    Wenn ja, dann sieht es für dich so aus:

    AutoIt
    If BitXor($negatOperator = 1, $expressionOne = $expressionTwo) Then
    	;DoStuff
    EndIf

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal