ozone Posted October 21, 2004 Posted October 21, 2004 (edited) Ever had a row in an array you wanted deleted? Well here is the script for you.Func Name = delete_array_rowVariables:$array = name of your array$dimcount = dimensions of array (can be either 1 or 2)$row = row # you want deletedDim $array[10][2] For $i = 0 to UBound($array, 1) - 1 If $i = 4 Then delete_array_row($array, 2, 5);line which deletes a row MsgBox(1,"", $array[$i][1]) If $i = UBound($array, 1) - 1 Then ExitLoop(1);exists loop if new end bounds is reached Next Func delete_array_row(ByRef $array, $dimcount, $row) If $dimcount = 2 Then Dim $temp[UBound($array,1)-1][UBound($array,2)] For $a = 0 to $row-1 For $b = 0 to UBound($array,2) - 1 $temp[$a][$b] = $array[$a][$b] Next Next For $a = $row+1 to UBound($array,1) - 1 For $b = 0 to UBound($array,2) - 1 $temp[$a-1][$b] = $array[$a][$b] Next Next $array = $temp Return Else Dim $temp[UBound($array,1) - 1] For $a = 0 to $row-1 $temp[$a] = $array[$a] Next For $a = $row+1 to UBound($array,1) - 1 $temp[$a-1] = $array[$a] Next $array = $temp Return EndIf EndFuncDon't forget the "If $i = UBound($array, 1) - 1 Then ExitLoop(1)" line, because if you set the end of the For loop to the UBound of the array, that value is not "re-calculated" when you delete a row. So this line will factor that in. Suggestions welcome. Edited October 21, 2004 by ozone
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now