- ArrayBsearch
- ArrayCopy
- ArrayCompare
- ArrayFree
- ArrayGetAsSeries
- ArrayInitialize
- ArrayFill
- ArrayIsDynamic
- ArrayIsSeries
- ArrayMaximum
- ArrayMinimum
- ArrayPrint
- ArrayRange
- ArrayResize
- ArrayInsert
- ArrayRemove
- ArrayReverse
- ArraySetAsSeries
- ArraySize
- ArraySort
- ArraySwap
- ArrayToFP16
- ArrayToFP8
- ArrayFromFP16
- ArrayFromFP8
ArrayInsert
Insère le nombre spécifié d'éléments d'un tableau source dans un tableau destination à partir d'un indice spécifié.
bool ArrayInsert(
|
Parameters
dst_array[]
[in][out] Tableau destination dans lequel les éléments doivent être ajoutés.
src_array[]
[in] Tableau source depuis lequel les éléments seront ajoutés.
dst_start
[in] Indice dans le tableau destination pour insérer les éléments depuis le tableau source.
src_start=0
[in] Indice dans le tableau source, à partir duquel les éléments du tableau source sont pris pour l'insertion.
count
[in] Nombre d'éléments à ajouter depuis le tableau source. WHOLE_ARRAY signifie tous les éléments à partir de l'indice spécifié jusqu'à la fin du tableau.
Valeur de Retour
Retourne true en cas de succès, sinon false. Pour obtenir des informations sur l'erreur, appelez la fonction GetLastError(). Erreurs possibles :
- 5052 ERR_SMALL_ARRAY (le paramètre start et/ou count sont incorrects ou le tableau source src_array[] est vide),
- 5056 ERR_SERIES_ARRAY (le tableau ne peut pas être changé, buffer de l'indicateur),
- 4006 ERR_INVALID_ARRAY (la copie sur le même tableau n'est pas autorisée, ou les tableaux sont de types différents, ou l'un des tableaux de taille fixe contient des objets de classe ou des structures),
- 4005 - ERR_STRUCT_WITHOBJECTS_ORCLASS (le tableau ne contient aucune structure POD, signifiant qu'une copie simple n'est pas possible),
- Les erreurs survenues lors du changement de la taille du tableau destination dst_array[] sont fournies dans la description de la fonction ArrayRemove().
Note
Si la fonction est utilisée pour un tableau de taille fixe, la taille du tableau destination dst_array[] lui-même ne change pas. A partir de la position dst_start, les éléments du tableau destination sont décalés vers la droite (les derniers comptes des éléments "décollent"), tandis que les éléments copiés depuis le tableau source prennent leurs places.
Vous ne pouvez pas insérer les éléments vers un tableau dynamique désigné comme buffer d'un indicateur avec la fonction SetIndexBuffer(). Pour les buffers d'indicateurs, toutes les opérations de changement de taille sont effectuées par le sous-système d'exécution du terminal.
Dans le tableau source, les éléments sont copiés depuis l'indice src_start. La taille du tableau source reste inchangée. Les éléments devant être ajoutés dans le tableau destination ne sont pas liés aux éléments du tableau source. Cela signifie que les changements suivants des éléments dans n'importe lequel des deux tableaux ne seront pas reflétés dans le second tableau.
Exemple:
//+------------------------------------------------------------------+
|
Voir également
ArrayRemove, ArrayCopy, ArrayResize, ArrayFree