8879899714 Posted September 29, 2007 Share Posted September 29, 2007 hi guys, need some help here ... ok, i am trying to write a scipt whereby i have a GUI to control my options. so when i pressed the "start" button, it would count to 10 and then recount from 0 till i hit the "stop" button. after the "stop" button is pressed, it would wait for other key input. the problem with my program below is that it during the counting, i cannot stop the count. so i was wondering could anyone add in a interupt for me? or enlighten me with some kinda of looping? thanks in advance #include <GUIConstants.au3> Global $start Global $way1x, $way1y, $kills $showGUI = 0 ; setting the GUI condition HotKeySet("{F6}", "show") ; using hotkey to show menu Read() GUICreate("Testscript", 300, 420) $runbutton=GUICtrlCreateButton("Run", 0, 390, 80, 30) ; show the Run button $stopbutton=GUICtrlCreateButton("Stop", 80, 390, 80, 30) ; show the Stop button $savebutton = GUICtrlCreateButton("Save", 160, 390, 60, 30) ; show the Save button $exitbutton = GUICtrlCreateButton("Exit", 220, 390, 80, 30) ; show the Exit button GUICtrlCreateTab(0, 0, 300, 390) $tab2 = GUICtrlCreateTabItem("WayPoints") GUICtrlCreateLabel("Training Ground Location", 10, 30, 200, 20) $checkCN = GUICtrlCreateCheckbox("", 20, 50, 20, 20) ; 1st checkbox location GUICtrlCreateLabel("X : ", 60, 50, 15, 20) ;~ $way1x = Int(IniRead(".\testscript.ini","Waypoints","1x","-1")) $input_x = GUICtrlCreateInput($way1x, 80, 50, 50, 20) GUICtrlCreateLabel("Y : ", 150, 50, 15, 20) ;~ $way1y = Int(IniRead(".\testscript.ini","Waypoints","1y","-1")) $input_y = GUICtrlCreateInput($way1y, 170, 50, 50, 20) GUISetState(@SW_HIDE) Func show() If $showGUI = 0 Then Read() GUISetState(@SW_SHOW) ; show the menu when hotkey pressed $showGUI = 1 Else GUISetState(@SW_HIDE) ; hide the menu when hotkey pressed $showGUI = 0 EndIf EndFunc ;==>show While 1 ; main body of program, loop till condition met While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ; when the top right cancel button is pressed Exit Case $msg = $runbutton $start = 1 ToolTip("Run Button Pressed") Sleep(2000) $kills = 0 ExitLoop Case $msg = $savebutton ; pressing the Save button Write() MsgBox(64, "Test Box", "You clicked on Save!") Case $msg = $exitbutton ; pressing the Exit button Exit EndSelect WEnd While 1 $msg = GUIGetMsg() Select Case $start = 1 If $msg = $stopbutton Then $start = 0 ToolTip("Stopping") $kills = 0 ExitLoop Else While $kills < 10 ToolTip("Count : " & $kills) $kills = $kills + 1 Sleep(2000) WEnd EndIf Case $start = 2 MsgBox(64, "Test Box", "Running Pixel Check!") Sleep(2000) ExitLoop EndSelect WEnd WEnd ;;-------------------------------------- Functions -------------------------------- Func Write() IniWrite(".\testscript.ini", "Waypoints", "1x", GUICtrlRead($input_x)) IniWrite(".\testscript.ini", "Waypoints", "1y", GUICtrlRead($input_y)) EndFunc ;==>Write Func Read() $way1x = Int(IniRead(".\testscript.ini", "Waypoints", "1x", "-1")) $way1y = Int(IniRead(".\testscript.ini", "Waypoints", "1y", "-1")) EndFunc ;==>Read Link to comment Share on other sites More sharing options...
Zedna Posted September 29, 2007 Share Posted September 29, 2007 Look at this my example and learn from it #include <GUIConstants.au3> GUICreate("Test",220,100) ;, -1,-1, $WS_CAPTION, $WS_EX_TOPMOST) $progressbar = GUICtrlCreateProgress (10,15,200,20,$PBS_SMOOTH) $procent = GUICtrlCreateLabel ('0 %', 10,40,200,20,$SS_CENTER) $start = GUICtrlCreateButton ("Start",35,68,70,22) $stop = GUICtrlCreateButton ("Stop",115,68,70,22) GUICtrlSetState($stop,$GUI_DISABLE) GUISetState() $run = 0 $i = 0 While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop If $msg = $start Then $run = 1 GUICtrlSetState($start,$GUI_DISABLE) GUICtrlSetState($stop,$GUI_ENABLE) EndIf If $msg = $stop Then $run = 0 GUICtrlSetState($start,$GUI_ENABLE) GUICtrlSetState($stop,$GUI_DISABLE) EndIf If $run Then $i = $i + 1 If $i > 100 Then $i = 0 GUICtrlSetData ($progressbar,$i) GUICtrlSetData ($procent,$i & ' %') Sleep(100) EndIf Wend Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
8879899714 Posted September 29, 2007 Author Share Posted September 29, 2007 hi Zedna, thanks for replying ... will study your example carefully ... thanks mentor ... Link to comment Share on other sites More sharing options...
qazwsx Posted September 29, 2007 Share Posted September 29, 2007 you could also try gui on event mode. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now