UDF > Array >


_ArrayPush

Insère de nouvelles valeurs à la fin en supprimant autant de valeurs au début (taille inchangée) ou inversement

#include <Array.au3>
_ArrayPush ( ByRef $aArray, $vValue [, $iDirection = 0] )

Paramètres

$aArray Tableau à modifier
$vValue Valeur(s) à insérer (peuvent être dans un tableau)
$iDirection [optionnel] Direction du glissement des éléments du tableau:
    0 = Glissement vers la gauche (insertion à la fin)
    1 = Glissement vers la droite (insertion au début)

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 et définit @error <> 0.
@error: 1 - $aArray n'est pas un tableau
2 - $vValeur est un tableau plus grand que $aArray (il ne peut pas s'adapter)
3 - $aArray n'est pas un tableau 1D

Remarque

Cette fonction est utilisée pour les mises à jour en continu des données d'un tableau, ou sinon un tableau de grande taille serait créé.
Il conserve toutes les valeurs à l'intérieur du tableau (quelque chose comme History), moins les premiers ou les derniers, selon la direction choisie.
La fonction est similaire à la commande 'push' en assembleur.

En relation

_ArrayAdd, _ArrayConcatenate, _ArrayDelete, _ArrayInsert, _ArrayPop

Exemple

#include <Array.au3>

Local $avArrayTarget[9] = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Local $avArraySource[2] = [100, 200]

_ArrayDisplay($avArrayTarget, "$avArrayTarget AVANT _ArrayPush()")
_ArrayPush($avArrayTarget, $avArraySource)
_ArrayDisplay($avArrayTarget, "$avArrayTarget APRES _ArrayPush() avec un tableau à la fin")
_ArrayPush($avArrayTarget, $avArraySource, 1)
_ArrayDisplay($avArrayTarget, "$avArrayTarget APRES _ArrayPush() avec un tableau au début")
_ArrayPush($avArrayTarget, "Bonjour à tous!", 1)
_ArrayDisplay($avArrayTarget, "$avArrayTarget APRES _ArrayPush() avec une chaîne au début")