我已决定使用带有可执行文件的随附.ini文件,以便我不必对下拉菜单中显示的项进行硬编码。我创建了.ini文件并使用IniReadSection函数,我已经能够查看该部分并输出该部分中的每个Key = Value对。
我如何将值仅放入字符串数组中?我正在使用AutoIT编写此实用程序。
答案 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)