- 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
Inserisce il numero specificato di elementi da un array sorgente ad uno ricevente a partire da un indice specificato.
bool ArrayInsert(
|
Parametri
dst_array[]
[in] [out] Array ricevente a cui devono essere aggiunti gli elementi.
src_array[]
[in] Array sorgente da cui devono essere aggiunti gli elementi.
dst_start
[in] Indice dell'array ricevente per l'inserimento di elementi dall'array sorgente.
src_start=0
[in] Indice dell'array sorgente, a partire dal quale gli elementi dell'array sorgente vengono presi per l'inserimento.
count
[in] Numero di elementi da aggiungere dall'array sorgente. WHOLE_ARRAY indica tutti gli elementi, dall'indice specificato fino alla fine dell'array.
Valore di ritorno
Restituisce true se ha successo, altrimenti - false. Per ottenere informazioni sull'errore, chiamare la funzione GetLastError(). Possibili errori:
- 5052 – ERR_SMALL_ARRAY (i parametri start e/o count sono impostati in modo errato o l'array sorgente src_array[] è vuoto),
- 5056 – ERR_SERIES_ARRAY (l'array non può essere modificato, buffer indicatore),
- 4006 – ERR_INVALID_ARRAY (la copia su se stesso non è consentita, o gli array sono di tipo diverso, oppure esiste un array a grandezza fissa contenente oggetti classe o distruttori di strutture),
- 4005 - ERR_STRUCT_WITHOBJECTS_ORCLASS (l'array non contiene strutture POD e sta a significare che una semplice copia è impossibile),
- Si sono verificati errori quando la modifica della grandezza dell'array ricevente dst_array[] è stata fornita nella descrizione della funzioneArrayRemove() .
Nota
Se la funzione viene utilizzata per un array di grandezza fissa, la grandezza dell'array ricevente stesso dst_array[] non cambia. A partire dalla posizione dst_start, gli elementi dell'array ricevente vengono spostati a destra (l'ultimo counts degli elementi "viene fuori"), mentre gli elementi copiati dall'array sorgente prendono il loro posto.
Non è possibile inserire gli elementi negli array dinamici designati come buffer indicatore dalla funzione SetIndexBuffer(). Per i buffer indicatori, tutte le operazioni di modifica della grandezza vengono eseguite dal sottosistema di esecuzione del terminale.
Nell'array sorgente, gli elementi vengono copiati a partire dall'indice src_start. La grandezza dell'array sorgente rimane invariata. Gli elementi da aggiungere all'array ricevente non sono collegamenti agli elementi dell'array sorgente. Ciò significa che le successive modifiche degli elementi in uno dei due array non si riflettono nel secondo.
Esempio:
//+------------------------------------------------------------------+
|
Guarda anche
ArrayRemove, ArrayCopy, ArrayResize, ArrayFree