Sección de código fuente Visual basic


Código fuente de un módulo de clase para buscar palabras en los archivos de la pc



 

 

Este programita que hice permite buscar frases o palabras en los archivos del Pc, inclusive en los subdirectorios que cuelguen de un determinado path y con algunas otras opcione

 

El programa lo tenia hecho asi nomás, y lo coloqué en un módulo de clase para que quede un poco mas ordenado el código y sea mas fácil la utilización o modificaciónes posteriores que se le quieran hacer, por si se quiere incorporarlo a otro proyecto por ejemplo

 

 

Funciones y métodos del módulo de clase:

 

Propiedades:

 

 

La imágen previa del buscador:

Vista previa del programa que utiliza una clase para buscar archivos

 


Modo de usar la clase:

 

Para utilizarla, antes que nada hay crear una instancia como cualquier objeto. Por ejemplo:

 

'Variable para la clase CBusca
Dim ClsBuscar As CBusca

'Instanciamos
Set ClsBuscar = New CBusca

 

Cuando no lo usamos mas la eliminamos.

'Eliminamos la instancia de la clase clsBuscar
Set ClsBuscar = Nothing

 

Para buscar un archivo, antes hay que establecerle los valores necesarios: El Path, La Frase y la extención. Por ejemplo:

'Asignamos la propiedad "Path"
ClsBuscar.Path = "c:\windows"

'Asignamos la propiedad "Frase" la palabra a buscar
ClsBuscar.Frase = "Una Frase"

'Propiedad Filter para determinar la extención.

ClsBuscar.Filter = Txt

 

Haciendo esto ya se puede ejecutar la función Buscar y como comentaba se debe pasar uncontrol Listbox para listar los archivos y otros 2 controles opcionales (un textbox y un progressBar) para ver un resumen del resultado de la búsqueda (cantidad de directorios, archivos encontrados, etc..) y la barra obviamente para ver el progreso. Ejemplo:

ClsBuscar.Buscar unListBox, untextBox, unProgressBar

 

Para detener la búsqueda:

ClsBuscar.Detener

 

Para que la búsqueda distinga de mayúsculas y minúsculas:

ClsBuscar.TipoBusqueda = Exacta 'Distingue

ClsBuscar.TipoBusqueda = NoExacta 'No Distingue

 

Para incluir los subdirectorios o no:

ClsBuscar.IncluirSubDir = True 'Incluye

ClsBuscar.IncluirSubDir = False ' No los incluye

 

Nota: a la propiedad Path de la clase se le puede pasar el path directamente, por ejemplo:

ClsBuscar.Path = "c:\windows"

 

O también el método SeleccionarDir, que ejecuta el Api SHBrowseForFolder para seleccionar con el cuadro de diálogo de windows el directorio.

Otra cosa importante es que a la propiedad Filter no se le puede pasar otra extención que no sea las que tiene asignadas, ya que los valores están en un Enum, y si le pasamos un String u otro valor dará un error. Por lo tanto para mdificar esto hay que cambiar el Enum llamado "e_tipoArchivo" que está dentro del módulo de clase con la extención que le querramos agregar.

Dentro de este Enum hay un valor que dice Todos los archivos. Si le asignamos a Filter este valor no quiere decir que vaya a buscar cualquier extención, si no que lo hará con las extenciones que posea el Enum e_tipoArchivo.

Para descargar el ejemplo completo lo podés hacer en el enlace siguiente y a continuación sigue el código fuente:

 

Descargar código fuente

 


Código fuente a colocar en el módulo de clase Cbusca.cls

 

 

 




Buscar en Recursos vb