Ver Mensaje Individual
  #4  
Antiguo 02-11-2006
tefots tefots is offline
Miembro
 
Registrado: feb 2005
Posts: 108
Reputación: 22
tefots Va por buen camino
Cita:
Empezado por patorecalde
Muchas gracias a quienes respondieron y han leido este hilo, todo marcha ok, el tema ahora es que si levanto 50 datos de una BD mediante un query debo declarar 50 variables y luego insertarlas a la lista o debo hacerlo por medio de un constructor, creo que lo ultimo es mas logico pero no le encuentro la vuelta, que puedo codificar?

Saludos y gracias por el tiempo,
no , no has de declarar 50 variables eso es una barbaridad, ya que para eso esta la lista , para guardar una lista de punteros a los objetos creados
tan solo tendrias que recorrer el dataset de la forma

Código Delphi [-]
var
   Persona: TPersona;
begin

While (not query1.eof ) do begin
  Persona:= TPersona.Create;  Persona.Nombre:= query1.fieldbyname('nombre').value;  Persona.DNI:=query1.fieldbyname('Dni').value;    ListaPersonas.AddObject(Persona.Nombre,Persona);  Query1.next;End;
Cuando dejes de usar la lista, tendrias que liberar la memoria , ya que estas creando objetos en tiempo dinámico , esto se hace recorriendo la lista y llamando al destructor del objeto.

Código Delphi [-]
 
Var
  Persona:Tpersona
Begin
 while ListaPersonas.count<>0 do begin
   Persona:=ListaPersonas.objects[0];
   Persona.free;
   ListaPersonas.delete(0);
 End;

Salu2
Responder Con Cita