zhuryu 发表于 2011-9-26 01:12:16

二维数组赋值出错

#RequireAdmin
#include <Array.au3>

$array = _GetMACAddress()
_ArrayDisplay($array)

Func _GetMACAddress()
Dim $array
Dim $i=0
Local $wbemFlagReturnImmediately = 0x10
Local $wbemFlagForwardOnly = 0x20
Local $strComputer = "localhost"
Local $objWMIService,$colItems,$ret

$objWMIService= ObjGet("winmgmts:\\" & $strComputer& "\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * From Win32_NetworkAdapter")

For $colItem In $colItems
    If $colItem.NetConnectionStatus = 2 Then
    $ret[$i] = $colItem.MACAddress
    $ret[$i] = $colItem.Name
        $i=$i+1
        EndIf       
Next
Return $ret
EndFunc>运行:(3.3.6.1):E:\Program Files\autoit3\autoit3.exe "E:\Program Files\autoit3\SciTe\自动获取MAC\test3.au3"   
E:\Program Files\autoit3\SciTe\????MAC\test3.au3 (22) : ==> ?????????????.:
$ret[$i] = 1
^ ERROR
->01:11:01 AutoIT3.exe 完成::1
+>01:11:02 ACNWrapper 完成..
>退出代码: 1    时间: 3.835

zhuryu 发表于 2011-9-26 01:19:03

#RequireAdmin
#include <Array.au3>

$array = _GetMACAddress()
_ArrayDisplay($array)

Func _GetMACAddress()
Dim $ret
Dim $i=0
Local $wbemFlagReturnImmediately = 0x10
Local $wbemFlagForwardOnly = 0x20
Local $strComputer = "localhost"
Local $objWMIService,$colItems,$ret

$objWMIService= ObjGet("winmgmts:\\" & $strComputer& "\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * From Win32_NetworkAdapter")

For $colItem In $colItems
    If $colItem.NetConnectionStatus = 2 Then
    $ret[$i] = $colItem.MACAddress
    $ret[$i] = $colItem.Name
    $i=$i+1
    EndIf       
Next
Return $ret
EndFunc刚刚的代码有个错误……

zhuryu 发表于 2011-9-26 03:12:39

已经发现错误改好了,原来是第13行多了一个定义
页: [1]
查看完整版本: 二维数组赋值出错