Sign in to follow this  
Followers 0
Reeling

Go To Section?

5 posts in this topic

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?

Share this post


Link to post
Share on other sites



#2 ·  Posted (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 by Spiff59

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

#4 ·  Posted (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 by czardas

Share this post


Link to post
Share on other sites

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.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0