Delphi nos provee una manera facil de manejar vectores dinamicos sin la necesidad de dominar los punteros.
En la forma tradicional declaramos un vector de números enteros de longitud 10 de la siguiente manera:
Código Delphi
[-] A: Array [1..10] of integer;
Ahora si desconocemos la cantidad de elementos que vamos a necesitar podemos declarar el vector sin especificar su longitud:
En tiempo de ejecución podemos definir su longitud mediante la función
SetLength y asignarle valores de la manera tradicional, teniendo siempre en cuenta que el primer elemento tiene indice 0 y el último su longitud menos uno.
Código Delphi
[-]
SetLength(A, 2);
A[0] := 12;
A[1] := 7;
Ahora si queremos agregar un nuevo elemento a nuestro vector:
Código Delphi
[-]
SetLength(A, 3);
A[2] := 15;
o de manera mas genérica:
Código Delphi
[-]
SetLength(A, Length(A)+1);
A[High(A)] := 15;
Donde
Length nos devuelve el largo de nuestro vector y
High el indice del último elemento.
Por último para borrar nuestro vector, simplemente especificamos que su longitud es cero