Reeling Posted May 9, 2012 Share Posted May 9, 2012 I'm wondering if it is possible to do something like this. I've done some researching but haven't found anything. #marker MsgBox(0, "", "test") GoTo #marker In this script it would just repeat the msgbox over an over again. is it possible to do this type of a GoTo statement in autoit? Link to comment Share on other sites More sharing options...
Spiff59 Posted May 9, 2012 Share Posted May 9, 2012 (edited) GoTo was stamped out in the 80's to force more structured coding and try to eliminate "spaghetti" code. There are alternatives to achieve the same result though. Loops, separate functions, etc. You can recreate your endless-loop example with just: While 1 Msgbox(0,"","Hello world") Wend Where do you want to go from there? Edit: But to answer directly, there are no non-returning jump/branch/goto statements in AutoIt. Edited May 9, 2012 by Spiff59 Link to comment Share on other sites More sharing options...
Reeling Posted May 9, 2012 Author Share Posted May 9, 2012 Ye i think i can still make it work but its gonna be a much bigger pain in the ass now haha. thanks for the answer. Link to comment Share on other sites More sharing options...
czardas Posted May 9, 2012 Share Posted May 9, 2012 (edited) If all of your code is placed within functions, calling any function from anywhere within your script is pretty much the same as GoTo (only better). Dim $iValue = 0 _GoToFunc($iValue) ; Call the first function MsgBox(0, "Value", $iValue) ; After all arguments have finished. Func _GoToFunc(ByRef $parameter) _ReturnFunc($parameter) ; Call the next function EndFunc Func _ReturnFunc(ByRef $parameter) $parameter +=1 ; Add 1 to the parameter If $parameter < 10 Then _GoToFunc($parameter) ; Return to the previous function EndFunc Edited May 9, 2012 by czardas operator64 ArrayWorkshop Link to comment Share on other sites More sharing options...
guinness Posted May 9, 2012 Share Posted May 9, 2012 What czardas said, look at using Functions. General rule of thumb, if you're repeating the same code over and over again then wrap it in a function and call the function instead, it helps with maintaining your code. 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...
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