PDA

Ver la Versión Completa : lenta busqueda de archivos con api windows


anubis
17-03-2008, 18:01:40
Estoy mirando los trucos del trucomania (q3) para busqueda de archivos usando la api, pero estoy viendo que tarda bastante, esto es asi o se puede mejorar algo.
De donde puedo sacar lo que ocupan los directorios para poder usar al menos una barra de progreso y que no parezca que el programa se haya congelado?

gracias

fide
17-03-2008, 20:43:55
Ups, yo utilizo ese truco bastante, y es cierto que a veces es lento, pero a veces no!
Dime una cosa, la PC que tienes es poderosa?
Creo que eso influye en la rapidez de dicha Api
Creo yo!

cHackAll
17-03-2008, 21:38:23
Estoy mirando los trucos del trucomania (q3) para busqueda de archivos usando la api, pero estoy viendo que tarda bastante, esto es asi o se puede mejorar algo.
De donde puedo sacar lo que ocupan los directorios para poder usar al menos una barra de progreso y que no parezca que el programa se haya congelado?

gracias

A que te refieres con usar la API? porque al fin y a cabo siempre se utiliza alguna API. Para sacar cuánto ocupa un directorio necesitas realizar la sumatoria de los tamaños de los archivos de dicha carpeta en formaq recursiva (archivos contenidos en las carpetas de las carpetas ocultos o no).

Implementar una barra de progreso es realizar dos pasadas a toda la estructura de directorios.

Lo que puedes hacer para solucionar dicho "truco", es implementarlo en un hilo separado para que no afecte a tu aplicación, usar Application.ProcessMessages, y para que el usuario no se impaciente le puedes poner un GIF animado como el perrito del buscador del Güindos.

Saludos

alquimista
18-03-2008, 00:18:52
Si no te importa usar un componente ya creado:
Yo utilizo un componente de la página:
http://www.delphiarea.com/products/#TFindFile

Componente FindFile:
Es bastante sencillo de usar y lo mejor es que está preparado para multitarea.
Creo que trae ejemplo de como obtener tamaños de archivos etc...

Espero que sirva la pócima.
Saludos