salvar um objeto em um arquivo

24/11/2005

0

Pessoal, tenho uma dúvida sobre orientação a objetos:

seguinte, na época do turbo pascal, se agente criasse um record do tipo ´minhaEstrutura´, para criar um arquivo disso era soh fazer um file of minhaestrutura...

agora, a dúvida:

suponhamos que eu tenha 3 classes: listaum, listinha e itenzinhos. A classe listaum tem uma propriedade lista, que pode conter n listinhas, e a classe listinha possui a propriedade itens, que pode conter n itenzinhos.

Se eu tenho um objeto do tipo listaum instanciado, com uma lista de n listinhas instanciadas, e cada listinha tem x itenzinhos, todos instanciados em tempo de execução, como eu faço pra salvar o listaum em um arquivo, mas quando carregar esse arquivo ele preencher o listaum com todos os seus itens e subitens, instanciando-os?



Fui confuso, né? ..... axu q nem eu me entendo...

se alguem puder me dar uma luz ^^


Vitor Rubio

Vitor Rubio

Responder

Posts

24/11/2005

Siam

Essas listas são TStrings ?
Vc diz salvar pelo SaveToFile ?


Responder

24/11/2005

Vitor Rubio

não são tstrings, são classes criadas por mim, descendentes, por exemplo, de TobjectList.

Não penso em savetofile, mas sim num esquema que salvasse todos os itens e subitens do meu objeto.


Responder

24/11/2005

Siam

Não estou certo, mas acho que vc vai ter que escrever seus próprios métodos SaveToFile e LoadFromFile para fazer isso.
Se existir algo parecido, vou aproveitar este tópico p/ aprender também.


Responder

24/11/2005

Nildo

[quote:8307bfef5d=´vitor^_^´]Pessoal, tenho uma dúvida sobre orientação a objetos:

seguinte, na época do turbo pascal, se agente criasse um record do tipo ´minhaEstrutura´, para criar um arquivo disso era soh fazer um file of minhaestrutura...

agora, a dúvida:

suponhamos que eu tenha 3 classes: listaum, listinha e itenzinhos. A classe listaum tem uma propriedade lista, que pode conter n listinhas, e a classe listinha possui a propriedade itens, que pode conter n itenzinhos.

Se eu tenho um objeto do tipo listaum instanciado, com uma lista de n listinhas instanciadas, e cada listinha tem x itenzinhos, todos instanciados em tempo de execução, como eu faço pra salvar o listaum em um arquivo, mas quando carregar esse arquivo ele preencher o listaum com todos os seus itens e subitens, instanciando-os?



Fui confuso, né? ..... axu q nem eu me entendo...

se alguem puder me dar uma luz ^^[/quote:8307bfef5d]

Você não pode fazer isso com classes. Você tem que escrever seu próprio método que faça isso. Isso porque as classes são de tamanho variáveis. Com um RECORD você consegue pois ele tem um tamanho fixo na memória (isso se você não usar coisas do tipo String por exemplo. Só funcionaria se fosse do tipo String[ N ]).

Isso tudo porque as classes fazem referencias a diversos locais da memória, diferente de um record, que tem seu espaço pré-definido.


Responder

24/11/2005

Vitor Rubio

o problema eh fazer o método pra salvar os dados desses objetos então.... deve ser mais facil eu gravar num banco de dados cada uma das propriedades de cada um dos itens, e quando precisar, varo a tabela criando as instancias e itens dos meus objetos.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar