Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Arreglo de Registros, con arreglos de Registros(Dinamico) (https://www.clubdelphi.com/foros/showthread.php?t=38841)

PiornoCKA&G 31-12-2006 21:05:30

Arreglo de Registros, con arreglos de Registros(Dinamico)
 
Necesito saber la forma más optimizada de crear dinamicamente arreglos de registros, con arreglos de registros dentro. He podido satisfacer mis espectativas mediante un código, pero al añadir otro arreglo de registros dentro se destruye por completo el programa.

Este es el ejemplo del código que he implementado
Código Delphi [-]
type
    Ejemp = record
      N1,N2,N3 : Integer;    
    end; 

    MyEjemp = record
       Numbers : array of Ejemp;
       Numbers2 : array of Ejemp;
    end;
Var
   AllData : array of MyEjemp;

Y al querer añadir un elemento hago esto:
...
   SetLength(AllData,Length(AllData)+1);
   SetLength(AllData.Numbers,Length(AllData.Numbers)+1);

Pero se me porta inestable,
Iré por buen camino, o existe un método mejor?
:cool:

Lepe 01-01-2007 14:51:08

Yo aconsejo el uso de TObjectList (busca en el foro). Incluso si fuera necesario, se pueden encadenar los TObjectList, unos dentro de otros, esto sin duda, aclara mucho el código y te permite trabajar más cómodamente.

Quizás sabiendo para qué sirven todos esos arrays y los números n1,n2,n3 podamos aconsejarte una forma de hacerlo.

Saludos

Crandel 02-01-2007 02:04:30

La forma en que manejas los arrays esta bien, a que te referis con "inestable".

Muy posiblemente te resulte complicado mantener la estructura no regular que se te puede formar con tantos arrays de diferente tamaño.

Cual es exactamente el problema que estas teniendo?

PiornoCKA&G 05-01-2007 07:49:17

Cita:

Empezado por Crandel
La forma en que manejas los arrays esta bien, a que te referis con "inestable".

Muy posiblemente te resulte complicado mantener la estructura no regular que se te puede formar con tantos arrays de diferente tamaño.

Cual es exactamente el problema que estas teniendo?

Mi Problema es a la ahora de "declarar" un nuevo array de regitros, pues lo datos de los otros arreglos se afectan, y me preocupa si eso es error del compilador o error de código. Ya he revisado meticulosamente todo el codigo y no hay error en él, y trabaja muy bien, pero se afecta al declarar otro arreglo de registros.

Lepe 05-01-2007 09:53:30

En lugar de usar Length para cambiar el tamaño, usa High(Alldata) +1

Saludos


La franja horaria es GMT +2. Ahora son las 20:31:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi