salvar um objeto em um arquivo
24/11/2005
0
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
Posts
24/11/2005
Vitor Rubio
Não penso em savetofile, mas sim num esquema que salvasse todos os itens e subitens do meu objeto.
24/11/2005
Siam
Se existir algo parecido, vou aproveitar este tópico p/ aprender também.
24/11/2005
Nildo
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.
24/11/2005
Vitor Rubio
Clique aqui para fazer login e interagir na Comunidade :)