[PROBLEM] Script pausieren/schließen

10/02/2010 18:03 18alex03#1
Hey User,
ich habe ein kleines Script geschrieben:

So mein Problem jetzt:
Das Script pausiert und stoppt nicht.
Wodran kann das liegen?
10/02/2010 18:08 BlackHybrid#2
Das einfach reinhauen anstatt deinem dings da :D

PHP Code:
local $paused
Func Pause
()
    
$Paused Not $Paused
While $Paused
Sleep
(50)
WEnd
EndFunc 
Edit: ich versuch dir mal das ding in ordnung zu bringen weil das ist das reinste chaos :D
10/02/2010 18:13 18alex03#3
hm das funktioniert leider nicht

liegt das vielleicht dadran, dass der beim starten in die endlosschleife geht und deswegen nicht pausiert oder schließt?
10/02/2010 18:29 BlackHybrid#4
Ja daran liegts mir fällt nur grad net ein wie man des ändern kann^^
10/02/2010 18:34 18alex03#5
oki danke.
dann warte ich mal ab, ob jemand anders die antwort kennt
10/02/2010 18:39 BlackHybrid#6
Wenn nicht kannst du es auch mit hotkey machen :D
Aber das mit while-schleifen beenden war nie wirklich meine stärke^^
Ich überleg trotdem nochmal mit.
10/02/2010 19:24 18alex03#7
hm keiner ne lösung?
10/02/2010 23:46 PenGuin :O#8
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiconstantsEx.au3>
#include <Misc.au3>

Global $i = 0
Global $bPaused = False

#region ### START Koda GUI section ### Form=C:\Users\Alex\GUI\Form1.kxf
$Form1 = GUICreate("Made by 18alex03", 228, 81, 208, 125)
GUISetOnEvent($GUI_EVENT_CLOSE, "Beenden")
GUISetBkColor(0x800000)
$Label1 = GUICtrlCreateLabel("Tool", 15, 0, 197, 27)
GUICtrlSetFont(-1, 12, 800, 4, "Comic Sans MS")
GUICtrlSetColor(-1, 0x000000)
$Button1 = GUICtrlCreateButton("Start", 8, 40, 65, 33)
GUICtrlSetFont(-1, 8, 800, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFF0000)
$Button2 = GUICtrlCreateButton("Pause", 80, 40, 65, 33)
GUICtrlSetFont(-1, 8, 800, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFF0000)
$Button3 = GUICtrlCreateButton("Beenden", 152, 40, 65, 33)
GUICtrlSetFont(-1, 8, 800, 0, "Comic Sans MS")
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			Start()
		Case $Button3
			Beenden()
	EndSwitch
WEnd

Func Start()
	While 1
                            ;Mausklicks
	WEnd
	Exit
EndFunc   ;==>Start


Func Beenden()
	Exit
EndFunc   ;==>Beenden

Func WM_COMMAND($hWnd, $nMsg, $wParam, $lParam)
	Local $hButton = $Button2
	Local $hButton2 = $Button3
	$hButton = GUICtrlGetHandle($hButton)
	$hButton2 = GUICtrlGetHandle ($hButton2)
	Switch $lParam
		Case $hButton
			$bPaused = Not $bPaused
			AdlibRegister("_Pause", 10)
		Case $hButton2
			Exit
	EndSwitch
EndFunc   ;==>WM_COMMAND

Func _Pause()
	AdlibUnRegister("_Pause")
	While $bPaused And Sleep(10)
		If GUIGetMsg() = -3 Then Exit
	WEnd
EndFunc   ;==>_Pause
Bitte, und angewöhnen Functions immer nach unten zu schreiben!
Außerdem braucht du kein Call für Funktionsaufrufe.
Einfach durchschauen ;)
10/03/2010 16:18 18alex03#9
ah super danke :)

alles funktioniert, aber was hat das mit dem WM_command aufsich?
10/03/2010 18:33 PenGuin :O#10
Ist ein Windows Nachrichtencode, der checkt welche Taste gedrückt wurde, ist prinzipiell so wie GUIGetMsg, aber WM_Command musst du nicht verstehen, nimms einfach so hin ;)