[решено] Считать инфу из разделов INI файла в разные массивы.
-
FlatX007
[решено] Считать инфу из разделов INI файла в разные массивы.
Вообщем интересует как считать инфу(все ключи и значения) из разделов INI файла в разные! массивы. По одному массиву для каждого раздела. Или в многомерный массив. Не знаю как лучше.
Я знаю как это сделать ... но если разделов 20 или 30 ... неохота для каждого прописывать.
Я знаю как это сделать ... но если разделов 20 или 30 ... неохота для каждого прописывать.
-
asdf8
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
Посмотри IniReadSectionNames и IniReadSection
-
FlatX007
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
Цитата FlatX007:
Я знаю как это сделать ... но если разделов 20 или 30 ... неохота для каждого прописывать.
Я знаю как это сделать ... но если разделов 20 или 30 ... неохота для каждого прописывать.
[решено] Считать инфу из разделов INI файла в разные массивы.
-
asdf8
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
Код:
Код: Выделить всё
#Include
$fINI= @ScriptDir & '\File.ini'
$var = IniReadSectionNames($fINI)
If Not @error Then
Dim $ar[UBound($var)]
For $i=1 To $var[0]
$ar[$i]=IniReadSection($fINI,$var[$i])
If Not @error Then _ArrayDisplay($ar[$i])
Next
EndIf-
FlatX007
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
Во первых с ошибками и не работает ... я тоже думал просто сначало.
-
FlatX007
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
Цитата FlatX007:
для каждого прописывать
Тогда я ничего не понял: что прописывать?
Цитата FlatX007:
Во первых с ошибками и не работает ... я тоже думал просто сначало
$fINI - путь к ini-файлу
для каждого прописывать
[решено] Считать инфу из разделов INI файла в разные массивы.
Тогда я ничего не понял: что прописывать?
Цитата FlatX007:
Во первых с ошибками и не работает ... я тоже думал просто сначало
[решено] Считать инфу из разделов INI файла в разные массивы.
$fINI - путь к ini-файлу
-
Creat0R
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
Код:
Код: Выделить всё
#Include
$sIniFile = @DesktopDir & '\File.ini'
$aSectNames = IniReadSectionNames($sIniFile)
If IsArray($aSectNames) Then
Dim $aAllSections[$aSectNames[0]+1]
For $i = 1 To $aSectNames[0]
$aCurrentSection = IniReadSection($sIniFile, $aSectNames[$i])
If Not @error Then
$aCurrentSection[0][1] = $aSectNames[$i]
$aAllSections[$i] = $aCurrentSection
_ArrayDisplay($aAllSections[$i])
EndIf
Next
EndIf-
FlatX007
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
Ничё непонимаю ... и как мне вытащить из этого массива что либо ?
-
Creat0R
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
Цитата FlatX007:
как мне вытащить из этого массива что либо ?
Код:
как мне вытащить из этого массива что либо ?
[решено] Считать инфу из разделов INI файла в разные массивы.
Код:
Код: Выделить всё
$sIniFile = @DesktopDir & '\File.ini'
$aSectNames = IniReadSectionNames($sIniFile)
If Not IsArray($aSectNames) Then Exit MsgBox(16, 'Error', 'No Sections found (or file does not exists).')
Dim $aAllSections[$aSectNames[0] + 1]
$aAllSections[0] = $aSectNames[0]
For $i = 1 To $aSectNames[0]
$aCurrentSection = IniReadSection($sIniFile, $aSectNames[$i])
If Not @error Then
$aCurrentSection[0][1] = $aSectNames[$i]
$aAllSections[$i] = $aCurrentSection
EndIf
Next
;Вытаскиваем данные из массива массивов :)...
For $j = 1 To $aAllSections[0]
;Получаем массив из N-ого элемента общего массива (содержит массив в каждом элементе)
$aCurrentSection = $aAllSections[$j]
;Печатаем имя секций, которое содержится в первом элементе второго измерения (это двумерный массив)
ConsoleWrite("[" & $aCurrentSection[0][1] & "]" & @CRLF)
;Печатаем все ключи и их значения
For $x = 1 To $aCurrentSection[0][0]
ConsoleWrite($aCurrentSection[$x][0] & "=" & $aCurrentSection[$x][1] & @CRLF)
Next
ConsoleWrite(@CRLF)
Next-
FlatX007
Re: [решено] Считать инфу из разделов INI файла в разные массивы.
И как мне вывести в окно сообщения (MsgBox) - первое значение, допустим, из 2 раздела (всего их 5) INI файла - что бы (MsgBox) - находился не в цикле.
Я вопрос наверно не правильно задал, мне нужно по другому.
Мне вот так нужно заполнить массив ... только у меня не работает почему-то, заполняется только последний элемент массива елементами из последней секции INI файла.
Код:
Вообщем ничего не понятно ... и ничего не получается.
Я вопрос наверно не правильно задал, мне нужно по другому.
Мне вот так нужно заполнить массив ... только у меня не работает почему-то, заполняется только последний элемент массива елементами из последней секции INI файла.
Код:
Код: Выделить всё
#Include
;~ $sPathIni = @ScriptDir & '\Original Library\Olf.ini'
$sPathIni = @WindowsDir & "\win.ini"
$aSectionNames = IniReadSectionNames($sPathIni)
If Not (@error) Then
For $i = 1 To $aSectionNames[0]
$aIniRead = IniReadSection($sPathIni, $aSectionNames[$i])
If Not (@error) Then
Global $aArray[UBound($aSectionNames)][UBound($aIniRead)]
For $i1 = 1 To $aIniRead[0][0]
$aArray[$i][$i1] = $aIniRead[$i1][1]
Next
EndIf
Next
EndIf
_ArrayDisplay($aArray)Вообщем ничего не понятно ... и ничего не получается.