Warum funktioniert das.

02/24/2011 16:06 Klickboy#1
Es funktioniert, aber ich verstehe nicht so ganz warum.
Code:
; Drücke Esc um das Skript zu beenden, Pause um es zu pausieren

Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("+!d", "ShowMessage")  ; Shift-Alt-d

;;;; Hier ist der Hauptteil des Programms ;;;;
While 1
    Sleep(100)
WEnd
;;;;;;;;

Func TogglePause()
   [COLOR="Red"] $Paused = NOT $Paused[/COLOR]
    While $Paused
        sleep(100)
        ToolTip('Script ist pausiert',0,0)
    WEnd
    ToolTip("")
EndFunc

Func Terminate()
    Exit 0
EndFunc

Func ShowMessage()
    MsgBox(4096,"","Das ist eine Nachricht.")
EndFunc
Quelle : Autoit Hilfedatei

Hab mir nen paar Gedanken dazu gemacht,

Code:
Das eine While nur "läuft" wenn der Parameter wahr ist weiß ich.
NOT paused ist somit unwahr und die pause wird deaktiviert ?
und beim Zweiten mal ausfueren der Func isses NOT NOT paused (also doppelte Verneinung) und die while wird abgespielt.
was genau ist $paused ? string ? array ?
02/24/2011 16:09 BlackHybrid#2
Ich gehe stark davon aus, dass es mit der doppel verneinung, da sich der boolsche wer immer von False auf True ändert
02/24/2011 16:34 Klickboy#3
Boolesche Variable? habs gegoogelt.
Quote:
In EDV-Systemen genügt prinzipiell ein einzelnes Bit (wahr = 1; falsch = 0), um beide möglichen Variablenzustände zu repräsentieren. Aus technischen Gründen wird jedoch in der Regel eine andere Repräsentation gewählt, meist abhängig von der Wortbreite des konkreten Systems.
Quelle

Dankeschoen Blackhybrid
02/24/2011 17:21 PenGuin :O#4
$bPaused = boolsche Variable

sie ist Standardmäßg auf false gesetzt.
Drückst du nun den Pausebutton.
Macht es praktisch das hier:

$bPaused = NOT $bPaused

False = NOT False = True
oder
True = NOT True = False

Also wird der Wert immer geändert.
Wenn $bPaused = True dann geht er in die Schleife sonst aus der Schleife raus.
02/24/2011 17:54 Klickboy#5
die frage is doch schon beantwortet?^^
EDIT:welcher mod is denn fuer den bereich hier zuständig ?

Kann Geschlossen werden.
02/24/2011 19:41 PenGuin :O#6
Achso, ich wolte das nur nochmal erklären ;<
Hab nicht wirklich den thread gelesen.
Adroxxxx sollte der zuständige Mod sei.
02/24/2011 19:53 Adroxxx#7
#closed
nächstes mal einfach reporten, dann seh ich das schon.