yinkoh Posted March 10, 2008 Posted March 10, 2008 hello everyone, i wanted to improve an old script but i'm facing a stupid problem and i'm stucked there ... here's what i want to do: i'm using an ini file with sections and idents. i stored sections into a comma variable which a explode to get each section name. for each section there's another variable containing all idents that can be read into that section. the aim is to call into the script "$params[$section][$ident]" to read values. ; script $sections = "info,global" $section_info = "main,window" ; ini [info] main=title window=explorer I tried several ways of creating a variable such as "$params[$section][$ident]" but all i get is compiler errors... Can someone help plz ?
rasim Posted March 10, 2008 Posted March 10, 2008 I tried several ways of creating a variable such as "$params[$section][$ident]" but all i get is compiler errors... Mayb this: $var = $params & "[" & $section & "]" & "[" & $ident & "]"
yinkoh Posted March 10, 2008 Author Posted March 10, 2008 nope dont work actually the problem seem to be the way i create my array, because i can read $params[$section] but not $params[$sections][whatever] i declare the first array, then using <Array.au3> and _ArrayAdd i try this _ArrayAdd($params[$section], $ident) however when compiler sends its error it look like this is dim error i just dont get it :s
Monamo Posted March 10, 2008 Posted March 10, 2008 hello everyone, i wanted to improve an old script but i'm facing a stupid problem and i'm stucked there ... here's what i want to do: i'm using an ini file with sections and idents. i stored sections into a comma variable which a explode to get each section name. for each section there's another variable containing all idents that can be read into that section. the aim is to call into the script "$params[$section][$ident]" to read values. ; script $sections = "info,global" $section_info = "main,window" ; ini [info] main=title window=explorer I tried several ways of creating a variable such as "$params[$section][$ident]" but all i get is compiler errors... Can someone help plz ?Are you looking for an end result of a 2-dim or 3-dim array? If it's 3-dim, give this a shot: CODE #cs IniToArray - Reads the section names and section(s) content into a 3-dimensional array. Change the $showEmptySections value to a "1" if you want to see sections with no content in the results. #ce #include <Array.au3> $iniSource = @ScriptDir & "\test.ini" $showEmptySections = 0 $sections = IniReadSectionNames($iniSource) Dim $aINIContent[1][3] = [["0", "", ""]] If Not IsArray($sections) Then $aINIContent[0][1] = "<No sections found>" _ArrayDisplay($aINIContent) Exit EndIf For $i = 1 To $sections[0] _AddContent($sections[$i]) Next _ArrayDisplay($aINIContent) Func _AddContent($contentSection) $contents = IniReadSection($iniSource, $contentSection) If IsArray($contents) Then For $j = 1 To $contents[0][0] ReDim $aINIContent[uBound($aINIContent) + 1][3] $aINIContent[0][0] = $aINIContent[0][0] + 1 $activeLine = $aINIContent[0][0] $aINIContent[$activeLine][0] = $contentSection $aINIContent[$activeLine][1] = $contents[$j][0] $aINIContent[$activeLine][2] = $contents[$j][1] Next Else If $showEmptySections Then ReDim $aINIContent[uBound($aINIContent) + 1][3] $aINIContent[0][0] = $aINIContent[0][0] + 1 $activeLine = $aINIContent[0][0] $aINIContent[$activeLine][0] = $contentSection $aINIContent[$activeLine][1] = "<Section Empty>" EndIf EndIf ;_ArrayDisplay($contents) EndFunc - MoChr(77)& Chr(97)& Chr(100)& Chr(101)& Chr(32)& Chr(121)& Chr(97)& Chr(32)& Chr(108)& Chr(111)& Chr(111)& Chr(107)-------I've told you 100,000 times not to exaggerate!-------Don't make me hit you with my cigarette hand...-------My scripts:Random Episode Selector, Keyboard MouseMover, CopyPath v2.1, SmartRename for XP,Window Tracer[sup]New![/sup]
yinkoh Posted March 10, 2008 Author Posted March 10, 2008 re, it's not the exact thing i want but it's quite close and plus its working so i'm gonna use as a base to do what i want, thanks a lot m8.
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