【发布时间】:2011-12-14 00:41:57
【问题描述】:
我决定附带一个带有可执行文件的 .ini 文件,这样我就不必对出现在下拉菜单中的项目进行硬编码。我已经创建了 .ini 文件并使用 IniReadSection 函数,我已经能够查看该部分并输出该部分中的每个 Key=Value 对。
我将如何将值仅放入字符串数组中?我正在使用 AutoIT 编写此实用程序。
【问题讨论】:
我决定附带一个带有可执行文件的 .ini 文件,这样我就不必对出现在下拉菜单中的项目进行硬编码。我已经创建了 .ini 文件并使用 IniReadSection 函数,我已经能够查看该部分并输出该部分中的每个 Key=Value 对。
我将如何将值仅放入字符串数组中?我正在使用 AutoIT 编写此实用程序。
【问题讨论】:
我制作了这个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)
【讨论】: