Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   lenta busqueda de archivos con api windows (https://www.clubdelphi.com/foros/showthread.php?t=54391)

anubis 17-03-2008 18:01:40

lenta busqueda de archivos con api windows
 
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

Cita:

Empezado por anubis (Mensaje 273757)
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


La franja horaria es GMT +2. Ahora son las 08:36:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi