;---------------------------------------------------------------------------------------------------------------------- ; Fuction _Array2DJoin(ByRef $ARRAY, $AR2JOIN) ; ; Description Join 2 Arrays, 1D/2D can be mixed ; ; Parameter $ARRAY 1st array, will be joined with 2nd ; $AR2JOIN 2nd array ; ; Return Succes -1 ByRef $ARRAY ; Failure 0 set @error = 1; given array(s) are not array ; ; Author BugFix (bugfix@autoit.de) ;---------------------------------------------------------------------------------------------------------------------- Func _Array2DJoin(ByRef $ARRAY, $AR2JOIN) If ( Not IsArray($ARRAY) ) Or ( Not IsArray($AR2JOIN) ) Then SetError(1) Return 0 EndIf Local $UB2ndAR = UBound($ARRAY,2) If @error = 2 Then $UB2ndAR = 0 Local $UB2nd2JOIN = UBound($AR2JOIN,2) If @error = 2 Then $UB2nd2JOIN = 0 Select Case $UB2ndAR = 0 And $UB2nd2JOIN = 0 For $i = 0 To UBound($AR2JOIN)-1 ReDim $ARRAY[UBound($ARRAY)+1] $ARRAY[UBound($ARRAY)-1] = $AR2JOIN[$i] Next Return -1 Case $UB2ndAR > 0 And $UB2nd2JOIN = 0 Local $arTmp = $AR2JOIN ReDim $AR2JOIN[UBound($AR2JOIN)][$UB2ndAR] For $i = 0 To UBound($arTmp)-1 $AR2JOIN[$i][0] = $arTmp[$i] Next Case $UB2ndAR = 0 And $UB2nd2JOIN > 0 Local $arTmp = $ARRAY ReDim $ARRAY[UBound($ARRAY)][$UB2nd2JOIN] For $i = 0 To UBound($arTmp)-1 $ARRAY[$i][0] = $arTmp[$i] Next Case $UB2ndAR > 0 And $UB2nd2JOIN > 0 Select Case $UB2ndAR < $UB2nd2JOIN ReDim $ARRAY[UBound($ARRAY)][$UB2nd2JOIN] Case $UB2ndAR > $UB2nd2JOIN ReDim $AR2JOIN[UBound($AR2JOIN)][$UB2ndAR] EndSelect EndSelect For $i = 0 To UBound($AR2JOIN)-1 ReDim $ARRAY[UBound($ARRAY)+1][UBound($ARRAY,2)] For $k = 0 To UBound($AR2JOIN,2)-1 $ARRAY[UBound($ARRAY)-1][$k] = $AR2JOIN[$i][$k] Next Next Return -1 EndFunc