Vie Ago 27, 2010 12:43 pm
Descripción
Este es un Módulo de clase para búsqueda de archivos. que muestra una forma de poder , mediante las funciones de windows FindFirstFile y FindNextFile, buscar en forma recursiva archivos incluyendo subdirectorios.
El módulo también contiene algunas funciones y opciones útiles ( aunque se podrían agregar muchas otras ) para poder buscar con mas posibilidades y acceder a otra información de los archivos, directorios y unidades
Las opciones que contiene y se pueden usar con el módulo son :
* Buscar archivos en un directorio en concreto y también incluyendo subdirectorios.
* Poder indicar en la búsqueda todas las extensiones, o las que se quieran.
* Opción para detener y cancelar la búsqueda
* Poder buscar, además de hacerlo en un path específico, en todas las unidades y drives presentes en el sistema
* Parámetro opcional de búsqueda para poder Indicar el nombre de archivo, o parte del nombre
* El módulo contiene 3 eventos para saber cuando se comienza la búsqueda, cuando se reciben los archivos, y cuando finaliza el proceso. Esto facilita la manipulación de controles del formulario, por ejemplo para poder activar y desactivar botones y otros controles, etc ..
* Acceder a los archivos una vez finalizada la búsqueda, mediante una colección
* Acceder a información básica de los Drives mediante una colección e incluye algunos métodos para recuperar información de las unidades, como por ejemplo el tipo ( CD, Removible, de red etc ..), la capacidad, el nombre de volumen, el ícono
* Poder buscar por el tamaño mínimo y por el tamaño tamaño máximo.
* Buscar por la fecha inicial y final de creación, modificación y último acceso
* Una función para obtener el ícono asociado a los archivos
* Algunas funciones para tratamiento de rutas y archivos : por ejemplo obtener solo la extensión, solo el nombre desde la ruta completa, poder compactar un path, obtener el Drive asociado a un path, comprobar si un archivo existe entre otras.
Algunas funciones que se podrían agregar y que no contiene el módulo son :
* Poder Crear una propiedad o colección para incluir rutas que se deban ignorar
* En el tema de las extensiones, crear una propiedad para ignorar las extensiones que se deseen.
* Buscar por atributos.
* Buscar dentro del contenido de los ficheros
* Opción para excluir carpetas de sistema.
Como usar el módulo ?
Para usar el módulo de clase es simple.
Se debe crear una instancia con la palabra reservada de visual basic WithEvents para poder acceder a los eventos.
Para comenzar a buscar, se debe pasar al método Find los siguientes parámetros :
Nota: Las extensiones se deben separar con el caracter ; como se hace con la propiedad Pattern del control File de Visual basic. Por ejemplo:
Esto busca todos los archivos de extensión xml y html en la unidad c
Para detener la búsqueda se debe ejecutar el método Stop
DESCARGAR: [Tienes que estar registrado y conectado para ver este vínculo]
Este es un Módulo de clase para búsqueda de archivos. que muestra una forma de poder , mediante las funciones de windows FindFirstFile y FindNextFile, buscar en forma recursiva archivos incluyendo subdirectorios.
El módulo también contiene algunas funciones y opciones útiles ( aunque se podrían agregar muchas otras ) para poder buscar con mas posibilidades y acceder a otra información de los archivos, directorios y unidades
Las opciones que contiene y se pueden usar con el módulo son :
* Buscar archivos en un directorio en concreto y también incluyendo subdirectorios.
* Poder indicar en la búsqueda todas las extensiones, o las que se quieran.
* Opción para detener y cancelar la búsqueda
* Poder buscar, además de hacerlo en un path específico, en todas las unidades y drives presentes en el sistema
* Parámetro opcional de búsqueda para poder Indicar el nombre de archivo, o parte del nombre
* El módulo contiene 3 eventos para saber cuando se comienza la búsqueda, cuando se reciben los archivos, y cuando finaliza el proceso. Esto facilita la manipulación de controles del formulario, por ejemplo para poder activar y desactivar botones y otros controles, etc ..
* Acceder a los archivos una vez finalizada la búsqueda, mediante una colección
* Acceder a información básica de los Drives mediante una colección e incluye algunos métodos para recuperar información de las unidades, como por ejemplo el tipo ( CD, Removible, de red etc ..), la capacidad, el nombre de volumen, el ícono
* Poder buscar por el tamaño mínimo y por el tamaño tamaño máximo.
* Buscar por la fecha inicial y final de creación, modificación y último acceso
* Una función para obtener el ícono asociado a los archivos
* Algunas funciones para tratamiento de rutas y archivos : por ejemplo obtener solo la extensión, solo el nombre desde la ruta completa, poder compactar un path, obtener el Drive asociado a un path, comprobar si un archivo existe entre otras.
Algunas funciones que se podrían agregar y que no contiene el módulo son :
* Poder Crear una propiedad o colección para incluir rutas que se deban ignorar
* En el tema de las extensiones, crear una propiedad para ignorar las extensiones que se deseen.
* Buscar por atributos.
* Buscar dentro del contenido de los ficheros
* Opción para excluir carpetas de sistema.
Como usar el módulo ?
Para usar el módulo de clase es simple.
Se debe crear una instancia con la palabra reservada de visual basic WithEvents para poder acceder a los eventos.
- Código:
' -- Declarar la variable
Private WithEvents cFind As cFindFiles
- Código:
' -----------------------------------------------------------------------------------------------
' \\ -- Evento de inicio de búsqueda
' -----------------------------------------------------------------------------------------------
Private Sub cFind_InitSearch()
' -- Evento que se puede usar para poder inicializar controles,
' -- variables etc antes de buscar
End Sub
' -----------------------------------------------------------------------------------------------
' \\ -- Evento que recibe los archivos mientras se busca
' -----------------------------------------------------------------------------------------------
Private Sub cFind_GetFile(ByVal sFileName As String)
' sFileName contiene la ruta completa del archivo
End Sub
' -----------------------------------------------------------------------------------------------
' \\ -- Evento cuando finaliza la búsqueda
' -----------------------------------------------------------------------------------------------
Private Sub cFind_EndSearch()
' -- Para poder mostrar los resultados,
' -- y otras acciones
End Sub
Para comenzar a buscar, se debe pasar al método Find los siguientes parámetros :
Nota: Las extensiones se deben separar con el caracter ; como se hace con la propiedad Pattern del control File de Visual basic. Por ejemplo:
Esto busca todos los archivos de extensión xml y html en la unidad c
- Código:
Call cFind.Find("c:","*.xml;*.html")
Para detener la búsqueda se debe ejecutar el método Stop
- Código:
' -----------------------------------------------------------------------------------------------
' \\ -- Botón para detener la búsqueda
' -----------------------------------------------------------------------------------------------
Private Sub cmdStop_Click()
cFind.StopSearch
End Sub
DESCARGAR: [Tienes que estar registrado y conectado para ver este vínculo]