PDA

Ver la Versión Completa : Arrays Dinamicos - Declacion y borrado


Crandel
25-11-2006, 23:48:21
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:
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:
A: Array of integer;

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.

SetLength(A, 2);
A[0] := 12;
A[1] := 7;

Ahora si queremos agregar un nuevo elemento a nuestro vector:

SetLength(A, 3);
A[2] := 15;

o de manera mas genérica:

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

SetLength(A, 0);

Nelet
27-11-2006, 16:41:45
Mano de santo, oye....mira que me he pasado rato buscando por la ayuda y no había manera de encontrar la funcion LENGTH. Si es que nos hacemos mayores....

Muchas gracias por el truco.