Ver Mensaje Individual
  #1  
Antiguo 13-06-2005
VRO VRO is offline
Miembro
 
Registrado: abr 2004
Posts: 230
Reputación: 20
VRO Va por buen camino
Array Dinamico

Hola , gente del foro.

Tengo la siguiente cuestion. Utilizo un array dinámico y necesito redimensionarle a medida que voy insertarndo datos, os paso el código que lo vereis mejor:

Código Delphi [-]
//Definimos una estructura para importarPDA
  TPatron=Record
         numero: Integer;
         fecha: TDate;
        end;

Tengo una funcion que es importar y dentro de ella declaro:

Código Delphi [-]
 var         MPDA:Array of TPatron;

Despues en ella también hago una consulta:
Código Delphi [-]
       Query.sql.clear;
       Query.sql.add('select count(*) as num,numero,fecha_actual from tPDA where fecha_actual is not null group by numero,fecha_actual');
       Query.open;
 
       y:=0;

       SetLength(MPDA,Query.fieldbyname('num').asinteger);
       while Query.eof=false do
        begin
           y:=y+1;
           MPDA[y].numero:=Query.fieldbyname('numero').asInteger;
           MPDA[y].fecha:=Query.fieldbyname('fecha_actual').AsDateTime;
           query.Next;
        end;

Aqui puedo sacar la dimensión del array mediante una consulta, pero tengo que hacer otro que no me aparece en la consulta, es decir, en la consulta saco los datos de aquellos registros que tienen fechas asignadas. Pero me surgen casos en los que no hay fechas asignadas y tengo que introducir esos datos en el array y volverlo a redimensionar, pero si lo redimensiono a medida que lo necesito me borra los casos anteriores que ya tengo introducido alguien sabe como preservas los datos que ya tengo en un array que redimensiono.

Por ejemplo con Visual Basic para redimensionar de utiliza "Redim" y para redimensionar preservando lo anterior utilizo "Redim Preserver"

Pues yo necesito lo mismo pero para DElphi 6.

Gracias de antemano por vuestra ayuda.

PD: Si no entendeis mis explicaciones por favor ruego me lo comuniqurn.
Responder Con Cita