Frage zum Hotkey

  • Hallo,

    um erstmal die ganzen Funktion und Hotkeys zuverstehen. Habe ich eins etwas verändert, um es zu prüfen was passiert.

    [autoit]


    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")
    HotKeySet("{ESC}", "Terminate")

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(3000)
    MsgBox(4096,"",$Paused,2)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func TogglePause()
    sleep (200)
    $Paused = NOT $Paused
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func Terminate()
    Exit 0
    EndFunc

    [/autoit]

    Der Anfang ist klar die Variable zeigt keinen Wert an.
    Drücke ich jetzt eine Taste springt es zur Funktion auch klar, jetzt wird die Vari wohl ungleich gesetzt ???
    Und als Überprfung kommt ein True raus, warum?
    Und wieder gedrückt kommt ein False raus auch hier, warum

    Gruß


    Edit BugFix: Bitte KEINE Leerzeichen in den Tags, sonst sind sie unwirksam!!

    Einmal editiert, zuletzt von BugFix (10. August 2008 um 19:46)

    • Offizieller Beitrag

    Und als Überprfung kommt ein True raus, warum?
    Und wieder gedrückt kommt ein False raus auch hier, warum


    Boolsche Variablen sollte man immer vorbelegen, macht alles übersichtlicher.
    Hier gilt: Wenn die Variable nicht TRUE ist, kann sie nur FALSE sein - auch wenn das nicht vorbelegt wurde!
    Durch Ausführen der Hotkey-Funktion wird $Paused = NOT $Paused gesetzt, d.h. aus Startwert FALSE wird TRUE. Bei nochmaligem Ausführen wird aus TRUE wieder FALSE usw.

  • das kapier ich eigt. auch nicht so recht

    bei der hotkeyfunktion $paused = NOT $paused wird $paused FALSE (oder)?
    und wenn = NOT $paused (false??) ist, wie soll dann aus = NOT $paused wieder $paused (true??) werden????????????

    ich hab da echt null durchblick --.--

  • versuch mal NOT als *(-1) zu verstehen.

    [autoit]


    $Var=5
    $Var=$Var *(-1) ;$Var hat nun den Wert -5
    $Var=$Var *(-1) ;$Var hat nun den Wert 5

    [/autoit]

    *(-1) wechselt bei jedem Aufruf das Vorzeichen der Variable -
    NOT wechselt bei jedem Aufruf zwischen TRUE und FALSE (1 und 0)

    [autoit]


    $Var=TRUE
    $Var=NOT $Var ;$Var hat nun den Wert FALSE
    $Var=NOT $Var ;$Var hat nun den Wert TRUE

    [/autoit]


    usw...


    lgE

    • Offizieller Beitrag

    das kapier ich eigt. auch nicht so recht

    bei der hotkeyfunktion $paused = NOT $paused wird $paused FALSE (oder)?
    und wenn = NOT $paused (false??) ist, wie soll dann aus = NOT $paused wieder $paused (true??) werden????????????

    ich hab da echt null durchblick --.--

    Eine Boolsche Variable (Logikvariable, bool = logisch) kennt nur zwei Zustände: WAHR oder FALSCH. Der Operator NOT verkehrt den momentanen Zustand einer Boolschen Variablen ins Gegenteil. Weil:
    NOT TRUE = nicht wahr = FALSE
    und umgekehrt
    NOT FALSE = nicht falsch = TRUE

    Nun alles klar? 8)