回复 1# blue_dvd
1.第一行当然是空的,因为你定义时就没有赋值~~
#include <Array.au3>
Local $avArray[1]=['定义我时,麻烦您赋个初值,谢谢~~']
_ArrayAdd($avArray, "Brian")
_ArrayDisplay($avArray, "$avArray 添加后的数据 _ArrayAdd()")
第二个例子,空行也是同样的道理~~
2.用redim和UBound
#Include <Array.au3>
Dim $avArray[6]=[1,2,3,4,5,6]
Dim $anArray[8]=["Acd","BBB","DEFAS","dior","fdsa","e32390","32"]
Dim $Grid[1][1]=[['和第一个例子一样,不多说了~~']] ;这里改为Dim $Grid[1][1]时,只添加了一个数字
ReDim $Grid[1][(UBound($anArray)-1)]
_ArrayAdd2($Grid,$avArray);将一维数组添加到二维数组中
_ArrayAdd2($Grid,$anArray);将一维数组添加到二维数组中
_ArrayDisplay($Grid)
Func _ArrayAdd2(ByRef $array1,$array2);_ReArrayAdd(目标数组,增加内容)
If IsArray($array2) Then
If UBound($Array2, 0) <> 1 Then Return SetError(2, 0, -1);增加内容不是一个一维数组
Else
Return SetError(1, 0, -1);返回错误代码1,增加的内容非数组
EndIf
If Not IsArray($array1) Then Return SetError(3, 0, -1);返回错误代码3,目标数组非数组
$One_Dimen=UBound($array2);取一维数组数量
$Many_Dimen=UBound($array1,0);取二维数组维数
Local $Many_Dimen_Line=UBound($array1,1);取二维数组行数
$Many_Dimen_Col=UBound($array1,2);取二维数组列数
If $Many_Dimen<>2 Then Return SetError(4,0,-1);返回错误代码4,目标数组非二维数组
If $One_Dimen<$Many_Dimen_Col Or $One_Dimen>$Many_Dimen_Col Then
ReDim $array2[$Many_Dimen_Col]
EndIf
ReDim $array1[$Many_Dimen_Line+1][$Many_Dimen_Col]
For $add_i=0 To $Many_Dimen_Col-1
$array1[$Many_Dimen_Line][$add_i]=$array2[$add_i]
Next
Return $Many_Dimen_Line
EndFunc
|