Funzioni matrice

Completato

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;

*/