FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
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:
Tengo una funcion que es importar y dentro de ella declaro:
Despues en ella también hago una consulta:
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. |
#2
|
|||
|
|||
Te recomiendo que uses un TList. Busca en la ayuda de Delphi para que veas sus propiedades y métodos, así como ejemplos.
Saludos... |
#3
|
||||
|
||||
Habrá que ver algo de código, ya que setlength siempre preserva los elementos ya existentes en el arreglo.
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#4
|
|||
|
|||
Te voy a poner un ejemplo de lo que tengo y de lo que quiero:
Lo que tengo hecho:
Y lo que quiero es meter el SetLength dentro del while he ir dandole valores, de la siguiente forma:
Pretendo ir ampliando el array ha medida que voy insertando através de la variable y, pero que me ocurre que sólo me matiene el valor correcto del último registro insertado, el resto me pasa los valores a 0. ¿A qué se debe esto? y como puedo solucionarlo? Gracias por todo a todos. |
#5
|
||||
|
||||
Intenta algo así:
__________________
La violencia es el último recurso del incompetente. (Salvor Hardin) |
#6
|
|||
|
|||
Muchas gracias OhCan de momento me va esta función de maravilla, en caso de que me surga algún proiblemilla con ella te lo comento.
Gracias también al resto por intentarlo. |
#7
|
||||
|
||||
De nada...
¡Qué haríamos sin los foros!
__________________
La violencia es el último recurso del incompetente. (Salvor Hardin) |
|
|
|