Funzioni matrice
Quando si utilizza un tipo di dati della matrice, a tale tipo di dati è possibile applicare una serie di funzioni. Queste funzioni possono essere utilizzate per determinare la lunghezza di una matrice oppure per copiare una matrice intera o una parte:
ArrayLen
CompressArray
CopyArray
Funzione ArrayLen
La funzione ArrayLen restituisce il numero di elementi correnti di una matrice.
Length := ArrayLen(Array [,Dimension]);
Il seguente esempio mostra una funzione ArrayLen:
SaleAmount: array[10] of Integer;
Length := ArrayLen(SaleAmount);
Message('%1', Length);
// Displays : 0
SaleAmount[1] := 1;
SaleAmount[2] := 2;
SaleAmount[3] := 3;
SaleAmount[1] := 10;
Length := ArrayLen (SaleAmount);
Message('%1', Length);
// Displays : 3
Funzione CompressArray
La funzione CompressArray sposta tutte le stringhe non vuote di una matrice all'inizio della matrice. La matrice risultante ha lo stesso numero di elementi della matrice di input, ma alla fine della voce vengono visualizzate voci vuote.
Il parametro StringArray è una matrice di stringhe.
Count := CompressArray(StringArray);
Il seguente esempio mostra il parametro StringArray:
MyArray: array[4] of Text[20];
MyArray[1] := 'Paris';
MyArray[2] := 'Rome';
MyArray[3] := '';
MyArray[4] := 'New York City';
CompressArray(MyArray);
/* Results :
MyArray[1] = 'Paris';
MyArray[2] = 'Rome';
MyArray[3] = 'New York City';
MyArray[4] = '';
*/
Funzione CopyArray
La funzione CopyArray creerà una nuova matrice in base a una esistente. È possibile indicare una posizione iniziale e, se lo si desidera, una lunghezza. Se non si specifica una lunghezza, la funzione copierà tutti gli elementi fino alla fine, a partire dalla posizione indicata.
CopyArray(NewArray, Array, Position [, Length]);
Il seguente esempio mostra la funzione CopyArray:
MyArray1: array[10] of Integer;
MyArray2: array[5] of Integer;
MyArray1[1] := 1;
MyArray1[2] := 2;
MyArray1[3] := 3;
MyArray1[4] := 4;
MyArray1[5] := 5;
MyArray1[6] := 6;
MyArray1[7] := 7;
MyArray1[8] := 8;
MyArray1[9] := 9;
MyArray1[10] := 10;
CopyArray(MyArray2, MyArray1, 6, 5);
/* Results :
MyArray2[1] = 6;
MyArray2[2] = 7;
MyArray2[3] = 8;
MyArray2[4] = 9;
MyArray2[5] = 10;
*/