将INI文件中的值读入字符串数组

时间:2011-10-24 10:31:28

标签: arrays ini autoit

我已决定使用带有可执行文件的随附.ini文件,以便我不必对下拉菜单中显示的项进行硬编码。我创建了.ini文件并使用IniReadSection函数,我已经能够查看该部分并输出该部分中的每个Key = Value对。

我如何将值仅放入字符串数组中?我正在使用AutoIT编写此实用程序。

1 个答案:

答案 0 :(得分:3)

我做了这个ini文件:

[JHamill]
key1=value1
key2=value2
key3=value3

我从IniReadSection示例中获取了一些代码并对其进行了修改,以便能够将其用于下拉菜单。

$var = IniReadSection("test.ini", "JHamill")

$str = ""
For $i = 1 To $var[0][0]
    $str &= $var[$i][1] & "|"
Next
$str = StringTrimRight($str, 1)

GUICreate("JHamill GUI combo")

GUICtrlCreateCombo("", 10, 10)
GUICtrlSetData(-1, $str)

GUISetState()

While 1
    $msg = GUIGetMsg()

    If $msg = -3 Then ExitLoop
WEnd

在这里,您可以看到您无需创建新阵列即可使其正常工作。但是既然你问过,首先创建一个新数组,只复制值元素,然后使用该数组填充组合框,这是同样的事情:

#include <Array.au3>

$var = IniReadSection("test.ini", "JHamill")

Local $arr[$var[0][0]]
For $i = 1 To $var[0][0]
    $arr[$i-1] = $var[$i][1]
Next
_ArrayDisplay($arr)