Array-Funktionen
Wenn Sie mit einem Array-Datentyp arbeiten, können eine Reihe von Funktionen auf diesen Datentyp angewendet werden. Mithilfe dieser Funktionen kann die Länge eines Arrays bestimmt oder ein vollständiges Array bzw. ein Teil eines Arrays kopiert werden:
ArrayLen
CompressArray
CopyArray
Funktion „ArrayLen“
Die Funktion ArrayLen gibt die Anzahl der aktuellen Elemente in einem Array zurück.
Length := ArrayLen(Array [,Dimension]);
Das folgende Beispiel zeigt die Funktion 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
Funktion „CompressArray“
Die Funktion CompressArray verschiebt alle nicht leeren Zeichenfolgen eines Arrays an den Anfang des Arrays. Das resultierende Array weist die gleiche Anzahl von Elementen auf wie das Eingabearray, leere Einträge werden jedoch am Ende des Eintrags angezeigt.
Der Parameter StringArray ist ein Zeichenfolgenarray.
Count := CompressArray(StringArray);
Das folgende Beispiel zeigt den Parameter 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] = '';
*/
Funktion „CopyArray“
Die Funktion CopyArray erstellt ein neues Array basierend auf einem vorhandenen. Sie können eine Startposition und optional eine Länge angeben. Wenn Sie keine Länge angeben, kopiert die Funktion alle Elemente bis zum Ende, ausgehend von der Position.
CopyArray(NewArray, Array, Position [, Length]);
Das folgende Beispiel zeigt die Funktion 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;
*/