Saltearse al contenido

Funciones de Arreglos

Estas funciones se pueden usar para determinar la longitud de una matriz o para copiar una matriz total o parcialmente:

  • ArrayLen
  • CompressArray
  • CopyArray

La función ArrayLen devuelve el número de elementos actuales en una matriz.

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

La función CompressArray desplaza todas las cadenas no vacías que contiene una matriz al principio de la matriz. La matriz resultante tiene el mismo número de elementos que la matriz inicial, pero las entradas vacías aparecen al final.

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] = '';
*/

La función CopyArray creará una nueva matriz basada en otra existente. Puede facilitar una posición inicial y, opcionalmente, una longitud. Si no facilita una longitud, la función copiará todos los elementos hasta el final, empezando desde la posición.

CopyArray(NewArray, Array, Position [, Length]);
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;
*/