ArrayFill

La funzione riempie un array con il valore specificato.

void  ArrayFill(
   void&  array[],      // array
   int    start,         // indice d'inizio
   int    count,         // numero di elementi da riempire
   void   value          // valore
   );

Parametri

array[]

[out]  Array di tipo semplice (char, uchar, short, ushort, int, uint, long, ulong, bool, color, datetime, float, double).

start

[in]  Indice iniziale. In tal caso, la specificata flag AS_SERIES, viene ignorata.

count

[in] Numero di elementi da riempire.

valore

[in] Valore con cui riempire l'array.

Valore restituito

Nessun valore restituito.

Nota

Quando la funzione ArrayFill() viene chiamata, la direzione indicizzazione normale (da sinistra a destra) è sempre implicita. Significa che la variazione dell'ordine di accesso agli elementi dell'array utilizzando la funzione ArraySetAsSeries() viene ignorata.

Un array multidimensionale è mostrato come uni-dimensionale quando viene elaborato dalla funzione ArrayFill(). Ad esempio, array [2][4] viene elaborato come array [8]. Di conseguenza, è possibile specificare l'indice dell'elemento iniziale, da essere uguale a 5 quando si lavora con questo array. Pertanto, la chiamata di ArrayFill(array, 5, 2, 3.14) per l'aray [2][4] riempie gli elementi array [1][1] ed array [1][2] con 3.14.

Esempio:

voidOnStart()
  {
//--- dichiara l'array dinamico
   int a[];
//--- imposta la grandezza
   ArrayResize(a,10);
//--- riempie i primi 5 elementi con 123
   ArrayFill(a,0,5,123);
//--- riempie i primi 5 elementi con 456
   ArrayFill(a,5,5,456);
//--- mostra valori
   for(int i=0;i<ArraySize(a);i++) printf("a[%d] = %d",i,a[i]);
  }