PDA

Ver la Versión Completa : Arrays dinamicos


Besto
13-10-2006, 12:47:24
Hola,
¿alguien sabe como crear arrays dinámicos en Delphi 2?

si pongo
var
a: array of ... me da error.

rafita
13-10-2006, 13:15:40
No estoy muy seguro, y no tengo documentación a mano, pero me parece que los arrays dinámicos los incorporaron don Delphi4.
Un sitio donde puedes encontrar información al respecto es en la "Biblia de Delphi 4", un libro de Marco Cantú, que tienes en PDF gratuitamente. Busca en su página (http://www.marcocantu.com/).

Otra alternativa es usar estructuras de tipo lista, con punteros.

saludos

rafita
13-10-2006, 13:37:35
Perdona, se me había olvidado poner lo poco que recuerdo sobre los arrays dinámicos, por si acaso sí existen en Delphi 2.

// Declaración: array of TipoBase.
var miarray : array of Integer;

// Asignación de tamaño: Setlength(el array, tamaño)
SetLength(miarray,100);
// tiene 100 elementos, del 0 al 99

// Acceso a los elementos: Low --> el más bajo, Hight --> el más alto
for i:=Low(miarray) to Hight(miarray) do
miarray[i]:=i;

algunas cosas más:
* si el array no tiene elementos Hight(miarray)= -1 y por tanto mayor que Low(miarray) que sería 0. Un poco raro, pero es así.
* la asignación de memoria se hace por referencia, esto es, dos variables del mismo tipo: array1 y array2, ocupan las mismas posiciones de memoria si son iguales, pero si una de ellas cambia, copia todo el array en una nueva localización.

Espero te sirva

Besto
13-10-2006, 13:47:16
Gracias,

la forma de usar arrays dinámicos ya lo conocía, lo que pasa es que fuí a usarla en delhpi 2 y solo en la definición me da error, así que supongo que es lo que tú dices, que en delphi 2 no existen, así que tendré que buscar otra forma de hacer lo que quiero.

De todas formas muchas gracias por la respuesta.

Saludos

Lepe
13-10-2006, 15:24:01
Esta web (http://www.tempest-sw.com/secrets/dynarray.htm)lo explica para Delphi 2 y dá una alternativa con TList.

Saludos