本帖最后由 qop1831 于 2022-1-24 22:17 编辑
#include <Array.au3>
#include '_ini.au3'
$GPS_File = '奥山GPS.ini'
Dim Const $AS_ZoneID = _IniReadSection_line($GPS_File, "AS-ZoneID")
_ArrayDisplay($AS_ZoneID, "1D - 单数组")
$ZoneID = 3703
$s = _ArrayBinarySearch($AS_ZoneID, $ZoneID)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') :$s = ' & @error & @CRLF) ;### Debug Console
[AS-ZoneID]
3703=沙塔斯城
2597=奥特兰克山谷
2957=深铁矿洞
2958=石炉哨站
2959=丹巴达尔
2960=冰翼小径
2961=霜狼村
2962=哨塔高地
2963=冷齿矿洞
2964=冰斧要塞
2977=冰血要塞
2978=霜狼要塞
3017=霜刀小径
3057=征战平原
3058=冰翼洞穴
3297=霜狼墓地
3298=霜狼小径
3299=丹巴达尔小径
3300=冰血墓地
3301=雪落墓地
3302=石炉墓地
3303=雷矛墓地
3304=冰翼碉堡
3305=石炉碉堡
3306=蛮爪岭
3318=杜隆坦之石
3337=蛮爪洞穴
3338=迷雾裂隙
返回 -1, @error = 2 - $vValue 超出数组的最小/最大值
就不知道为什么报这个错误。
$vValue不是搜索值么,
感谢A大 问题已解决
$GPS_File = '奥山GPS.ini'
$AS_ZoneID = _IniReadSection_str($GPS_File, "AS-ZoneID")
$sss = _IniSectionRead($AS_ZoneID, 3703)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') :$sss = ' & $sss & @CRLF) ;### Debug Console
Func _IniSectionRead($sSection, $sKey) ; 读取字段中关键字的值
;~ ###(字段字符串, 关键字)
Local $aVal = StringRegExp($sSection, '(?mi)^\h*' & $sKey & '\h*\=\h*(\S*\V*?)\h*$', 1)
If @error Then Return SetError(1)
Return $aVal[0]
EndFunc ;==>_IniSectionRead
|