Supprime les �l�ments sp�cifi�s dans un tableau 1D ou 2D
#include <Array.au3>
_ArrayDelete ( ByRef $aArray, $vRange )
$aArray | Tableau � modifier |
$vRange | �l�ment(s) � supprimer - soit un index unique, une cha�ne contenant des plages (exemple "0;11-15;24") soit un tableau 1D avec le nombre d'�l�ments en position [0] (voir l'exemple pour plus de d�tails) |
Succ�s: | Retourne la nouvelle taille du tableau (voir Remarques) |
�chec: | Retourne -1 et d�finit @error <> 0. |
@error: | 1 - $aArray n'est pas un tableau 2 - $aArray n'est pas un tableau 1D ou 2D 3 - $vRange n'est pas une cha�ne de plage valide 4 - $vRange n'est pas un tableau 1D ou a seulement 1 �l�ment 5 - $vRange a un contenu en dehors des limites du tableau |
$vRange peut �tre une cha�ne contenant les lignes qui doivent �tre supprim�s. Il peut �tre un nombre unique ou une plage d�sign�e par les premi�re et derni�re lignes s�par�es par un tiret (-) - plusieurs plages sont s�par�s par un point-virgule (;).
$vRange peut aussi �tre un tableau 1D �num�rant toutes les lignes � supprimer avec un compteur dans l'�l�ment [0].
Dans les deux cas, les lignes ne sont pas n�cessairement dans l'ordre croissant et peuvent �tre dupliqu�s.
La fonction ne met PAS � jour l'�l�ment compteur du tableau, mais la valeur de retour de la fonction (si elle r�ussit) donne l'index le plus grand des lignes.
#include <Array.au3> Local $aArray[5] = [0, 1, 2, 3, 4] _ArrayDisplay($aArray, "Original") _ArrayDelete($aArray, 2) _ArrayDisplay($aArray, "Element 2 deleted") Local $aArray_Base[25][4] For $i = 0 To 24 For $j = 0 To 3 $aArray_Base[$i][$j] = String($i) & "-" & String($j) Next Next ; Ligne unique $aArray = $aArray_Base _ArrayDisplay($aArray, "AVANT suppression") _ArrayDelete($aArray, 7) _ArrayDisplay($aArray, "LIGNE UNIQUE supprim�e") ; Cha�ne contenant des plages $aArray = $aArray_Base Local $sRange = "0;11-15;24" _ArrayDisplay($aArray, "AVANT suppression") _ArrayDelete($aArray, $sRange) ConsoleWrite(" " & @error & @CRLF) _ArrayDisplay($aArray, "Suppression avec CHAINE DE PLAGE") ; Tableau 1D $aArray = $aArray_Base Local $aDel[4] = [3, 5, 11, 13] _ArrayDisplay($aArray, "AVANT suppression") _ArrayDelete($aArray, $aDel) _ArrayDisplay($aArray, "Suppression avec tableau de plage")