Hackworth82 Posted March 22, 2016 Share Posted March 22, 2016 Hello. I am new to AUTOIT. I have question for you guys. I have 3 check-boxes that I need to get the values from and output them as an array. I am trying to add an element to the $arrayToBeUsedLater array every time the value of an element from the $aArrayOfCheckBoxes is equal to 1 This is the code (I know it is not done by coding standards,; the end part of the code can be ignored if it is not the problem): expandcollapse popup#include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <array.au3> Local $hGUI = GUICreate("Please select your profile", 500, 500) Local $OK = GUICtrlCreateButton("OK", 400, 460, 85, 25) Local $cancel = GUICtrlCreateButton("Cancel", 300, 460, 85, 25) Local $idCheckbox = GUICtrlCreateCheckbox("checkbox 1", 10, 200, 185, 25) Local $idCheckbox1 = GUICtrlCreateCheckbox("checkbox 2", 10, 220, 185, 25) Local $idCheckbox4 = GUICtrlCreateCheckbox("checkbox 3", 10, 240, 185, 25) Local $aArrayOfCheckBoxes[3] = [$idCheckbox, $idCheckbox1, $idCheckbox4] Local $control1 ;will use for output Local $arrayToBeUsedLater = [] For $j = 0 To UBound($aArrayOfCheckBoxes) if GUICtrlRead($aArrayOfCheckBoxes[$j]) = 1 Then $control1 = GUICtrlRead($aArrayOfCheckBoxes[$j], 1) _ArrayAdd($arrayToBeUsedLater, $control1) Exit ; <-- there might be a problem here EndIf Next GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $OK, $cancel ExitLoop EndSwitch WEnd While 1 $msg = GUIGetMsg() Select Case $msg = $OK MsgBox(0, "", "You selected: " & $arrayToBeUsedLater) Exit Case $msg = $cancel MsgBox(0, "", "Your data was not saved ") Exit EndSelect WEnd The error that i get is this: ....Desktop\AutoIt\test1.au3" (21) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.: if GUICtrlRead($aArrayOfCheckBoxes[$j]) = 1 Then if GUICtrlRead(^ ERROR >Exit code: 1 Time: 0.2369 I believe that the problem might be in the For loop. Can anyone help me ? Thanks , Florin Link to comment Share on other sites More sharing options...
BrewManNH Posted March 22, 2016 Share Posted March 22, 2016 For $j = 0 To UBound($aArrayOfCheckBoxes) -1 ; <<<<<<< Hackworth82 1 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...
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