digitalexpl0it Posted October 17, 2014 Posted October 17, 2014 Hello All I am new to the forums. I have searched the web and the forums for my issue in my code. I am trying to read an option in an ini file with a number variable like 5, this number can be changed at any time. I then read the ini and make a for loop to read the entries in the ini file. The option 5 variable is there to let the loop know how many times to loop and read the INI file for the optional values. Main Code #include <File.au3> #include <Array.au3> #include <MsgBoxConstants.au3> ; INI File - Settings File Local Const $sFilePath = "settings.ini" Local $iFileExists = FileExists($sFilePath) If not $iFileExists Then msgbox(0,"Oh NO!", "settings.ini not found!") endif ; Read the INI section labelled 'OtherTransfers'. This will return a 2 dimensional array. Local $aArray = IniReadSection($sFilePath, "OtherTransfers") Local $opArray = IniReadSection($sFilePath, "Options") If Not @error Then ; Enumerate through the array displaying the keys and their respective values. Local $howMany = $opArray[1][1] for $i = 1 to $howMany -1 msgbox(0,"test",$aArray[$i][1]) next EndIf here is the ini file [Options] OT_HowMany=5 [OtherTransfers] OT_Source_1=c:\test1 OT_Destination_1=\\test1 OT_Source_2=c:\test2 OT_Destination_2=\\test2 OT_Source_3=c:\test3 OT_Destination_3=\\test3 OT_Source_4=c:\test4 OT_Destination_4=\\test4 OT_Source_5=c:\test5 OT_Destination_5=\\test5 now the [Options] section will change depending on how many OT_HowMany is specified. Now when I run the script without a msgBox I get a count of 5 msgboxes, but once I add the ini array in, I only get the first 4 from the ini file in the Options Section. Any Help would be appreciated.
Spider001 Posted October 17, 2014 Posted October 17, 2014 (edited) #include <File.au3> #include <Array.au3> #include <MsgBoxConstants.au3> ; INI File - Settings File Local Const $sFilePath = "settings.ini" Local $iFileExists = FileExists($sFilePath) If not $iFileExists Then msgbox(0,"Oh NO!", "settings.ini not found!") endif ; Read the INI section labelled 'OtherTransfers'. This will return a 2 dimensional array. Local $aArray = IniReadSection($sFilePath, "OtherTransfers") ;Local $opArray = IniReadSection($sFilePath, "Options") If Not @error Then ; Enumerate through the array displaying the keys and their respective values. ;Local $howMany = $opArray[1][1] ;_ArrayDisplay($aArray) for $i = 1 to $aArray[0][0] msgbox(0,"test",$aArray[$i][1]) next EndIf Edited October 17, 2014 by Spider001
digitalexpl0it Posted October 17, 2014 Author Posted October 17, 2014 thanks that works, I guess I didnt need to specify the numbers of loops
Spider001 Posted October 17, 2014 Posted October 17, 2014 (edited) no you don't need that the number is on they array already _ArrayDisplay($aArray) = a verry good function Edited October 17, 2014 by Spider001
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