francoiste Posted May 2, 2016 Share Posted May 2, 2016 what's the scope of local variables inside a "For" loop? the following snippet throws an error when doing the 2nd loop: For $i = 1 To 5 Local Const $sIteration = "iteration: " & $i ConsoleWrite($sIteration & @CRLF) Next the error says: "Can not redeclare a constant" Link to comment Share on other sites More sharing options...
BrewManNH Posted May 2, 2016 Share Posted May 2, 2016 In AutoIt variables have 2 scopes, Global (any variable created outside of a function is considered to be global regardless of whether you use the keywords Global, Local, Dim or no keyword), and Local, which is any variable created inside a function that isn't specifically declared as Global in that function. There is no file or loop scope, so redeclaring that variable elsewhere will give you that error. 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 Link to comment Share on other sites More sharing options...
mikell Posted May 2, 2016 Share Posted May 2, 2016 Using "Const" you create a constant and not a variable Using "Local" you can reinitialize a variable, but "once created, you cannot change the value of a constant." (help file) Link to comment Share on other sites More sharing options...
jdelaney Posted May 3, 2016 Share Posted May 3, 2016 Local Const $sIteration = "iteration: " For $i = 1 To 5 ConsoleWrite($sIteration & $i & @CRLF) Next IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window. 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