szucsaaron Posted June 2, 2012 Share Posted June 2, 2012 Hi! I was wandering if i could make a script where there are like: While 1 ... While 2 ... Wend ... Wend Please reply! Link to comment Share on other sites More sharing options...
guinness Posted June 2, 2012 Share Posted June 2, 2012 You can do that, plus to exit a loop look at ExitLoop. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
szucsaaron Posted June 2, 2012 Author Share Posted June 2, 2012 so shall it look like: While 1 ... While 2 ... If ... then Exitloop Endif Wend Wend Link to comment Share on other sites More sharing options...
IanN1990 Posted June 2, 2012 Share Posted June 2, 2012 (edited) or you could add the condition to the while loop itself While $X = 0 If ... Then $X = 1 Wend Edited June 2, 2012 by IanN1990 Link to comment Share on other sites More sharing options...
guinness Posted June 2, 2012 Share Posted June 2, 2012 so shall it look like: While 1 ... While 2 ... If ... then Exitloop Endif Wend Wend Yeh, it just depends what you want to do. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
szucsaaron Posted June 2, 2012 Author Share Posted June 2, 2012 (edited) or like this? While 1 While $X = 0 If... Then $X = 1 EndIf WEnd Edited June 2, 2012 by szucsaaron Link to comment Share on other sites More sharing options...
IanN1990 Posted June 2, 2012 Share Posted June 2, 2012 (edited) Yea if you wanted, might want to add a sleep so dont you hog the cpu While 1 ;Main Loop sleep(250) ;Not to Hog Cpu While $Variable = 0 ; Secondary Loop and Condiction sleep(250) ;Not to Hog Cpu If ... Then ;Your code $Variable = 1 ;Breaks Secondary Loop and Returns to Main Loop Endif Wend ;End for Secondary Loop Wend ;End for Main Loop or While 1 ;Main Loop sleep(250) ;Not to Hog Cpu While 1 ; Secondary Loop sleep(250) ;Not to Hog Cpu If ... Then ;Your code ExitLoop ;Breaks Secondary Loop and Returns to Main Loop Endif Wend ;End for Secondary Loop Wend ;End for Main Loop Edited June 2, 2012 by IanN1990 Link to comment Share on other sites More sharing options...
szucsaaron Posted June 2, 2012 Author Share Posted June 2, 2012 Thanks for help it was really helpful! Link to comment Share on other sites More sharing options...
water Posted June 2, 2012 Share Posted June 2, 2012 (edited) Just to explain how "While <expression>" works: The expression is evaluated and the loop executed as long as the result of the evaluation is True. If the expressions is set to 1 it's the equivalaten of True, thus creating an infinite loop.You could write:While 1 While 1 If ... Then ExitLoop ; Exit inner loop ; Your code for the inner loop (e.g. process the 2nd dimension (columns) of an array ...) WEnd If ... Then ExitLoop ; Exit outer loop ; Your code for the outer loop loop (e.g. process the 1st dimension (rows) of an array ...) WEnd Edited June 2, 2012 by water My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
armoros Posted June 2, 2012 Share Posted June 2, 2012 Yea if you wanted, might want to add a sleep so dont you hog the cpuIn witch cases we get hog the cpu ?When we put a lot of whiles/loops etc. [font="verdana, geneva, sans-serif"] [/font] Link to comment Share on other sites More sharing options...
szucsaaron Posted June 2, 2012 Author Share Posted June 2, 2012 Thanks water Link to comment Share on other sites More sharing options...
IanN1990 Posted June 2, 2012 Share Posted June 2, 2012 (edited) In witch cases we get hog the cpu ? When we put a lot of whiles/loops etc. While 1 If ProcessExists("AutoIt3.exe") Then ConsoleWrite("A") WEnd Uses 25% Cpu of this 2.40 GHX Quad Core CPU While 1 Sleep(10) If ProcessExists("AutoIt3.exe") Then ConsoleWrite("A") WEnd Uses 12% CPU While 1 Sleep(250) If ProcessExists("AutoIt3.exe") Then ConsoleWrite("A") WEnd Uses 0% CPU Now unless the script needs Real-Time Responses, 250 is 1/4 of a second which in most cases is more then enough while keeping the CPU usage low. In my view, when coding something script performance is very important. More so if your script is going to run on lots of or other machines, as maybe not everyone have the same gaming rig as you. Edited June 2, 2012 by IanN1990 Link to comment Share on other sites More sharing options...
armoros Posted June 2, 2012 Share Posted June 2, 2012 Well IanN1990 the explanation can not get better.. Thank you my friend.. [font="verdana, geneva, sans-serif"] [/font] 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