Ir al contenido


Foto

Como hacer una busqueda recursiva de archivos con barra de progreso

busqueda barra de progreso

  • Por favor identifícate para responder
2 respuestas en este tema

#1 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 21 septiembre 2022 - 12:44

Hola a todos
Se que hay varias formas de hacer búsquedas recursivas de archivos y carpetas, que se han explicado aquí en el foro, pero yo necesito ademas mostrar una barra de progreso según va explorando los archivos.

El objetivo es para una herramienta de limpieza de los restos que dejan ciertos virus. Que tiene que explorar el disco o carpeta especificada, buscando los archivos y carpetas que cumplan cierto patrón, para adicionarlos a una lista y después puedan ser eliminados.

Y lo que quiero es que el usuario vea el progreso de esa actividad, y al menos tenga idea de cuanto le falta para terminar.

En este post http://delphiaccess....recursivamente/se explica como contar los archivos, que me sirve para saber el total de la barra de progreso.

Todo funciona bien mientras sean "pocos" archivos, pero cuando son demasiados (por ejemplo C:\ recursivo) se demora mucho en obtener ese total.

Existirá algún otro método mas rápido para obtener el total de archivos para configurar la barra de progreso?

O que otra idea me pueden dar para mostrarle al usuario el progreso de la tarea

Editado por JoAnCa, 21 septiembre 2022 - 12:45 .

  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.111 mensajes
  • LocationMadrid - España

Escrito 22 septiembre 2022 - 02:33

Para llevar la cuenta en una barra de progreso puede ser interesante una función callback que te informe en tiempo real de la cuenta. El problema va a ser el total de esa cuenta que se va a demorar. El propio Windows cuando te muestra sus barras de progreso se eterniza calculando. Si tu diseño lo permite, puedes implementar un hilo para esa cuenta mientras el usuario está a otras cosas, de esa forma el calculo es trasparente siempre y cuando no solicite el inicio hasta que la cuenta esté completada.

 

 

Saludos.


  • 0

#3 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 mensajes
  • LocationPinar del Río, Cuba

Escrito 22 septiembre 2022 - 12:40

Para llevar la cuenta en una barra de progreso puede ser interesante una función callback que te informe en tiempo real de la cuenta. El problema va a ser el total de esa cuenta que se va a demorar. El propio Windows cuando te muestra sus barras de progreso se eterniza calculando. Si tu diseño lo permite, puedes implementar un hilo para esa cuenta mientras el usuario está a otras cosas, de esa forma el calculo es trasparente siempre y cuando no solicite el inicio hasta que la cuenta esté completada.
 
 
Saludos.


Pensándolo mejor, estuve analizando que es mejor no poner barra de progreso, o poner una indefinida como los famosos circulitos dando vueltas o similar.

De cualquier forma, siempre voy a mostrar en un label el archivo que se esta analizando en ese momento, para que el usuario vea que la aplicación esta trabajando, y en otro la cantidad de archivos analizados.

Ahora lo que necesito para continuar es referente a crear dos hilos para hacer el proceso de análisis, pero abriré otro hilo para no confundir los temas
  • 0





Etiquetado también con una o más de estas palabras: busqueda, barra de progreso

IP.Board spam blocked by CleanTalk.