Ver Mensaje Individual
  #1  
Antiguo 06-03-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.282
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
[RESUELTO] Guardar estructura de memoria (clases) a disco

Buenas a todos.
No se si el título explica claramente lo que necesito hacer, así que intentaré explicarme un poco mejor.

Se trata de que tengo en memoria una serie de datos almacenados en clases y listas de elementos que debo exportar a disco. Es una estructura compleja, por ejemplo una clase A, que posee propiedades (algunas enteros y otras cadenas) y una lista de elementos de la clase B. A su vez la clase B posee algún ENTERO, algún STRING y una lista de elementos de la Clase C. La clase C a su vez son una lista de PUNTOS y alguna propiedad más.

La estructura no es exactamente así, pero es bastante aproximada para que os hagáis una idea. La representaríamos como se ve a continuación.

Código Delphi [-]

Clase A
==============
prop1: integer
prop2: integer
prop3:string
prop4: List of ClaseB
...

Clase B
=============
prop1: boolean
prop2: string
prop3: integer
prop4: List of claseC
...

Clase C
==============
prop1: List of Tpoint
prop2:Tcolor
...

Ya tengo una o dos ideas para almacenarlo en disco (BACKUP) y después poder recuperarlo (RESTORE), pero la verdad es que ninguna de ellas me resulta sencilla.
Ya sea guardar en un formato tipo XML/JSON/... o incluso guardarlos en ficheros planos y empaquetarlo todo en un ZIP.

El caso es que estaba dándole vueltas a si habría alguna manera más fácil de hacerlo que no signifique recorrer todos los elementos de todas las clases. Algo así como el WriteComponent de la clase TStream. Algo que me permita "volcar" toda la clase y recuperarla de una sóla vez.
A lo mejor estoy "desvariando"... Si es así no me hagáis caso...

Se aceptan ideas, sugerencias, críticas,...

P.D: No necesito código sólo una idea/orientación.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 06-03-2013 a las 20:04:08.
Responder Con Cita