232showtime Posted September 29, 2014 Posted September 29, 2014 (edited) good day, can someone help me how to stop and start loop while not exiting the program? for example HotKeySet("{`}", "StopScript") While Sleep(10) wend Func StopScript() StopScript ;???? Endfunc I tried to use Global Pause and its not helping coz if It pauses in line 22 it will start again in line 22 inside while loop.. what i want stop the script on line 22, and start again on line 1 inside the while loop, without exiting the program... i really dont know which command to use. thanks in advance. Edited September 29, 2014 by 232showtime ill get to that... i still need to learn and understand a lot of codes Correct answer, learn to walk before you take on that marathon.
BrewManNH Posted September 29, 2014 Posted September 29, 2014 There's only 7 lines in your snippet, 13 if you count the blanks, where's line 22 and what exactly is your script doing? Post your script, because there's not enough information in what you posted to give you any kind of answer. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
MikahS Posted September 29, 2014 Posted September 29, 2014 Look at ContinueLoop Snips & Scripts My Snips: graphCPUTemp ~ getENVvarsMy Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4 Feel free to use any of my code for your own use. Forum FAQ
Syed23 Posted September 29, 2014 Posted September 29, 2014 (edited) Does Exitloop function helps you? Edited September 29, 2014 by Syed23 Thank you,Regards,[font="Garamond"][size="4"]K.Syed Ibrahim.[/size][/font]
232showtime Posted September 29, 2014 Author Posted September 29, 2014 (edited) There's only 7 lines in your snippet, 13 if you count the blanks, where's line 22 and what exactly is your script doing? Post your script, because there's not enough information in what you posted to give you any kind of answer. its only an example, here expandcollapse popupWhile 1 $x4 = ControlGetText("DOCumentation management system", "", "[CLASS:TEdit; INSTANCE:1]") If _IsPressed('70') = 1 Then ControlClick("DOCumentation management system", "", "[CLASS:TBitBtn;INSTANCE:3]");F1 Show Doc EndIf Sleep(10) If _IsPressed('71') = 1 Then ControlClick("DOCumentation management system", "", "[CLASS:TBitBtn;INSTANCE:2]");F2 Show Comments Sleep(10) If _IsPressed('74') = 1 Then WinActivate("DOCumentation management system") ControlClick("DOCumentation management system", "", "[CLASS:TEdit;INSTANCE:1]") Send("^a") Send("^v");F5 Search EndIf If _IsPressed('02') = 1 Then ControlClick("New Revision", "", "[CLASS:TBitBtn;INSTANCE:2]");Save Revision Sleep(10) If _IsPressed('72') = 1 Then ControlClick("DOCumentation management system", "", "[CLASS:TButton;INSTANCE:2]");F3 Ref Doc Show Revision Sleep(10) If _IsPressed('73') = 1 Then ControlClick("DOCumentation management system", "", "[CLASS:TButton;INSTANCE:1]");F4 Ref Doc Show Doc Sleep(10) If WinExists("[CLASS:TFrmStatistic]") Then WinClose("[CLASS:TFrmStatistic]") EndIf Sleep(10) If WinExists("[CLASS:TFrmSpecProject]") Then ControlClick("New Revision", "", "[CLASS:TDBEdit;INSTANCE:1]") ControlSetText("[CLASS:TFrmSpecProject]", "", "[CLASS:TDBEdit; INSTANCE:1]", $x4) WinWaitClose("[CLASS:TFrmSpecProject]") EndIf Sleep(10) If WinExists("[CLASS:TFrmModuleImport]") Then WinClose("[CLASS:TFrmModuleImport]") EndIf Sleep(10) If WinExists("[CLASS:bosa_sdm_XL9]") Then WinClose("[CLASS:bosa_sdm_XL9]") EndIf Sleep(10) WEnd Look at ContinueLoop Ill try this... Edited September 29, 2014 by 232showtime ill get to that... i still need to learn and understand a lot of codes Correct answer, learn to walk before you take on that marathon.
MikahS Posted September 29, 2014 Posted September 29, 2014 (edited) what i want stop the script on line 22, and start again on line 1 inside the while loop, without exiting the program Does Exitloop function helps you? Doesn't want to exit Edited September 29, 2014 by MikahS 232showtime 1 Snips & Scripts My Snips: graphCPUTemp ~ getENVvarsMy Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4 Feel free to use any of my code for your own use. Forum FAQ
232showtime Posted September 29, 2014 Author Posted September 29, 2014 Does Exitloop function helps you? I will try this also again, I include exitloop in while loop and it exit the whole program... ill get to that... i still need to learn and understand a lot of codes Correct answer, learn to walk before you take on that marathon.
Syed23 Posted September 29, 2014 Posted September 29, 2014 (edited) just wanted to understand a bit more.. why do you want to pause it and start over your program? if you want to pause, how long you want to pause? do you have any time specific time to start over? Bcoz Autoit does not support GOTO line number function. you have to create the logic for that action.. Edited September 29, 2014 by Syed23 Thank you,Regards,[font="Garamond"][size="4"]K.Syed Ibrahim.[/size][/font]
MikahS Posted September 29, 2014 Posted September 29, 2014 If _IsPressed("C0") = 1 Then ContinueLoop or this might work as well If _IsPressed("C0") Then ContinueLoop Snips & Scripts My Snips: graphCPUTemp ~ getENVvarsMy Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4 Feel free to use any of my code for your own use. Forum FAQ
232showtime Posted September 30, 2014 Author Posted September 30, 2014 (edited) just wanted to understand a bit more.. why do you want to pause it and start over your program? if you want to pause, how long you want to pause? do you have any time specific time to start over? Bcoz Autoit does not support GOTO line number function. you have to create the logic for that action.. because i need it here see below this is the fastest idea i ever had dont have much time to analyze... If _IsPressed("C0") = 1 Then ContinueLoop or this might work as well If _IsPressed("C0") Then ContinueLoop @mika and @syed23 sorry the 1st script i posted is different i was on a rush yesterday, i want to use the stop/start script with this 2nd script because i have a long script same like this expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> $Form1_1 = GUICreate("Form1", 245, 260, 192, 124, Default, $WS_EX_TOPMOST) $1 = GUICtrlCreateButton("-", 32, 88, 75, 25) $2 = GUICtrlCreateButton("A", 32, 128, 75, 25) $3 = GUICtrlCreateButton("B", 32, 168, 75, 25) $4 = GUICtrlCreateButton("C", 32, 208, 75, 25) $5 = GUICtrlCreateButton("0", 136, 88, 75, 25) $6 = GUICtrlCreateButton("1", 136, 128, 75, 25) $7 = GUICtrlCreateButton("2", 136, 168, 75, 25) $8 = GUICtrlCreateButton("3", 136, 208, 75, 25) $xT = GUICtrlCreateInput("", 120, 56, 81, 21) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Opt("SendKeyDelay", 5) Opt("SendKeyDownDelay", 5) While 1 $x1 = GUICtrlRead($xT) $x2 = GUICtrlRead($xA) $x3 = ControlGetText("DOCumentation management system", "", "[CLASS:TEdit; INSTANCE:1]") $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $1 ControlSend("Reference Document Revision", "", "[CLASS:TwwDBEdit;INSTANCE:4]", "-"); Click & Send Revision 1 Sleep(400) ControlClick("Reference Document Revision", "", "[CLASS:TBtnWinControl;INSTANCE:2]"); Click Date Sleep(400) WinActivate("[CLASS:TFrmRevSpecifica]"); activate add doc. revision window Sleep(400) ControlClick("Reference Document Revision", "", "[CLASS:TBtnWinControl;INSTANCE:1]"); click issue status Sleep(400) ControlSend("Reference Document Revision", "", "[CLASS:TwwDBLookupCombo;INSTANCE:1]", "5") ; select 1 issue status Sleep(400) Send("{DOWN}") Sleep(400) Send("{ENTER}") Sleep(400) ControlClick("Reference Document Revision", "", "[CLASS:TBitBtn;INSTANCE:3]"); Click load Rev. Sleep(400) ControlSend("Open", "", "[CLASS:Edit;INSTANCE:1]", $x3) ; Load PDF Sleep(400) ControlSend("Open", "", "", "{DOWN}") Sleep(400) ControlClick("Open", "", "[CLASS:Button;INSTANCE:2]") Sleep(400) ControlSetText("Reference Document Revision", "", "[CLASS:TwwDBEdit;INSTANCE:2]", $x2 & $x1) ; send Transmittal Sleep(400) ControlClick("Reference Document Revision", "", "[CLASS:TBitBtn;INSTANCE:2]"); Click Show rev WinWaitClose("[CLASS:TFrmRevSpecific]") ProcessClose("Acrobat.exe") EndSwitch WEnd Edited September 30, 2014 by 232showtime ill get to that... i still need to learn and understand a lot of codes Correct answer, learn to walk before you take on that marathon.
Syed23 Posted September 30, 2014 Posted September 30, 2014 As per my knowledge While-Wend loop is never ending loop until you exit the program. so what i will suggest you is to give a try by adding a case with Stop function like pause the script and put a another case to use continueloop to continue with While loop. this may help you to acheive what you are looking for. Thank you,Regards,[font="Garamond"][size="4"]K.Syed Ibrahim.[/size][/font]
232showtime Posted September 30, 2014 Author Posted September 30, 2014 (edited) ok i will try... thanks Edited September 30, 2014 by 232showtime ill get to that... i still need to learn and understand a lot of codes Correct answer, learn to walk before you take on that marathon.
Syed23 Posted September 30, 2014 Posted September 30, 2014 probably can not be the best example what you are looking for but may give some help.... expandcollapse popup#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> $Form1_1 = GUICreate("Form1", 245, 260, 192, 124, Default, $WS_EX_TOPMOST) $1 = GUICtrlCreateButton("-", 32, 88, 75, 25) $2 = GUICtrlCreateButton("A", 32, 128, 75, 25) $3 = GUICtrlCreateButton("B", 32, 168, 75, 25) $4 = GUICtrlCreateButton("C", 32, 208, 75, 25) $5 = GUICtrlCreateButton("0", 136, 88, 75, 25) $6 = GUICtrlCreateButton("1", 136, 128, 75, 25) $7 = GUICtrlCreateButton("2", 136, 168, 75, 25) $8 = GUICtrlCreateButton("3", 136, 208, 75, 25) $xT = GUICtrlCreateInput("", 120, 56, 81, 21) HotKeySet("{F1}","about") GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Opt("SendKeyDelay", 5) Opt("SendKeyDownDelay", 5) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $1 MsgBox(0,"","Inside Loop") EndSwitch WEnd Func about() MsgBox(0,"Func","I AM Here") ; you can add your pause script here EndFunc Thank you,Regards,[font="Garamond"][size="4"]K.Syed Ibrahim.[/size][/font]
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