#include-once #include ; #FUNCTION# ============================================================================= ; Name...........: __Array_DeleteColumn (Version 3) ; @jugador ; ========================================================================================= Func __Array_DeleteColumn(ByRef $0_Array, $0_List) If Not IsArray($0_Array) Then Return Local $o_List = StringSplit($0_List, ';', 2) If UBound($o_List) = 0 Then Return Local $o_String = '' For $i = 0 To UBound($o_List) - 1 If StringInStr($o_List[$i], '-') Then $o_Temp = StringSplit($o_List[$i], '-', 2) __GetNumber($o_String, $o_Temp[0], $o_Temp[1]) Else $o_String &= $o_List[$i] & '|' Endif Next Local $o_LoopCnt = 0 Local $o_TmpArray[Ubound($0_Array)][Ubound($0_Array, 2)] For $i = 0 To Ubound($0_Array, 2) - 1 If Not StringRegExp($o_String, '\b'& $i &'\b') Then For $j = 0 To Ubound($0_Array) - 1 $o_TmpArray[$j][$o_LoopCnt] = $0_Array[$j][$i] Next $o_LoopCnt += 1 Endif Next Redim $o_TmpArray[Ubound($0_Array)][$o_LoopCnt] $0_Array = $o_TmpArray EndFunc ; #FUNCTION# ============================================================================= ; Name...........: __GetNumber ; ========================================================================================= Func __GetNumber(Byref $o_GetNumber, $o_NoFrom, $o_NoTo = 0) Local $o_Temp If ($o_NoFrom = $o_NoTo) Then $o_GetNumber &= $o_NoFrom & '|' Return Endif If ($o_NoFrom < $o_NoTo) Then $o_Temp = $o_NoFrom $o_NoFrom = $o_NoTo $o_NoTo = $o_Temp Endif If ($o_NoFrom > $o_NoTo) Then __GetNumber($o_GetNumber ,$o_NoFrom - 1, $o_NoTo) $o_GetNumber &= $o_NoFrom & '|' Endif EndFunc