Ver Mensaje Individual
  #5  
Antiguo 07-06-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Reputación: 23
Crandel Va por buen camino
Un detalle importante, es el de saber cuantos elementos ir almacenando.

Es cierto que puedes ir reservando espacio a demanda haciendo:

Código Delphi [-]
SetLength(ficheros, numeroelementos+1)

Pero el gran problema surge cuando el número comienza a crecer, dado que comienza a comsumir mayor cantidad de tiempo, debido a la reorganización en memoria del arreglo.

Para solucionarlo, sabiendo que vas a necesitar muchos elementos, pides muchos mas:

Código Delphi [-]
SetLength(ficheros, numeroelementos+10000)

10000 es sólo un ejemplo.

Si necesitas más vas agregando de a 10.000, una ves completado vuelves a redimensionar, para eliminar los sobrantes

Código Delphi [-]
SetLength(ficheros, numerostomados)

Recuerdo que esto sólo es necesario, cuendo se requieren procesos rápidos, por ejemplo de agregar más de 1000 datos por segundo, sino el tiempo consumido no es tan importante.
__________________
[Crandel]
Responder Con Cita