Domingo, 19 May 2024, 10:16:47 AM
Le saludo Huésped | RSS
Carga de Archivos
Categorías de la sección
Visual Basic [7]
Visual Basic.Net [0]
DFD [2]
Pseint [3]
PHP [1]
HTML [0]
JavaScript [0]
Python [0]
Programacion para principiantes en lenguaje python y rur-ple
Marcadores
VISITAS
Visitas
Recomendar Pagina
Redes Sociales
Visitas

Total en línea: 1
Invitados: 1
Usuarios: 0
Búsqueda
Inicio » Archivos » Visual Basic [ Añadir material ]

Buscar archivos en la PC y paginar los resultados
04 Feb 2011, 10:42:48 AM

Este código fuente es un ejemplo que muestra una posible forma de buscar archivos en la PC, y al terminar de buscar, mostrar los resultados en forma paginada, por ejemplo si al buscar x archivos, como resultado obtenemos 50.000 ficheros, poder crear 50 páginas que contienen 1000 archivos cada una. Por defecto cada página almacenará 1000 archivos, pero el tamaño de la página se puede establecer modificando el valor de una propiedad, no necesariamente deben ser 1000 ).

El ejemplo lo hice por que necesitaba en algunos casos listar muchos archivos en un control Listview, y el control al tener que cargar tantos ficheros, colgaba el programa ( se sobrecargaba el ListView ), no tanto por los datos que visualizaba ( el nombre, el tipo, tamaño, fecha etc ..), si no por las imágenes de íconos de cada archivo.

Por las pruebas hechas, el código fuente creo que funciona mas o menos bien, en pocos casos me ha dado errores en que visual basic se colgaba. En una prueba, cargando 200.000 archivos aproximadamente ( todos los de la PC ), en páginas de 1000 a 2000 ficheros cada una, no he tenido errores, pero si, cuando se define una página con un número mayor a 2000, por ejemplo páginas de 5000, 10000 etc ...

El proyecto de ejemplo es un programa que muestra como buscar archivos ( solo archivos no carpetas ) y a medida que se buscan los archivos ( dentro del módulo cFindFiles ), crear colecciones en forma dinámica para crear la paginación. Luego cuando termina de buscar ( Evento EndSearch del módulo) y ya se han creado las páginas de resultados, cargar una determinada página en el control LV.

Para obtener la página de resultados y poder listarla, se usa un método llamado GetColFiles que devuelve una colección con la lista de archivos. A este método se le debe enviar el número de página como parámetro. Por ejemplo

Set xColFiles = mCFindFiles.GetColFiles(Número)

En el ejemplo, los números de páginas se cargan en un control ComboBox, y al hacer click se le envía el ListIndex y de este modo poder cargar y visualizar dicha página. O también se puede avanzar o retroceder entre las páginas mediante dos botones. Nota. Para saber el total de páginas, (necesarias para que no genere error al pasar un número inválido al método y además necesario para saber la cantidad), se debe obtener el valor consultando la propiedad TotalPage. Y para saber la página actual en la cual se está actualmente, consultando la propiedad CurrentPage.

Captura de pantalla del programa de ejemplo.

 

Nota Importante: El ejemplo no está muy testeado, hay muchas opciones que se le pueden agregar, y también hay partes del código que se pueden optimizar mucho.

 

Descargar código fuente

Categoría: Visual Basic | Ha añadido: juanjose472
Visiones: 931 | Cargas: 0 | Ranking: 0.0/0
Total de comentarios: 0
Solamente los usuarios registrados pueden añadir los comentarios.
[ Registrarse | Entrada ]