Este componente DLL no tiene una interfaz de usuario. Se puede crear una instancia del objeto Filer en un programa, y buscar archivos y textos sin la intervención del usuario.
Una vez instanciado, se especifican las condiciones de búsqueda de archivos y/o texto, y se ejecuta el método
Find()
. Este método retorna un objeto colección con sus propiedades, que permiten obtener información de los archivos que cumplen las condiciones de la búsqueda; y métodos que permiten editar o eliminar estos archivos.Ejemplos
1. Búsqueda del archivo "Customer.dbf":
LOCAL loFiler AS 'Filer.FileUtil' *-- Creo el objeto loFiler = CREATEOBJECT('Filer.FileUtil') *-- Indico la ruta loFiler.SearchPath = HOME(1) *-- Indico el archivo o mascara (Ej: *.dbf) loFiler.FileExpression = 'Customer.dbf' *-- Indico que busque en subcarpetas loFiler.SubFolder = 1 *-- Busco... loFiler.Find(0) IF loFiler.Files.Count > 0 ? TRANSFORM(loFiler.Files.Count) + ' archivo/s encontrado/s' ? FOR lnCant = 1 TO loFiler.Files.Count WITH loFiler.Files.Item(lnCant) ? 'Archivo ' + TRANSFORM(lnCant) ? 'Ruta: ' + .Path ? 'Nombre: ' + .Name ? 'Tamaño: ' + TRANSFORM(.Size) ? 'Creado: ' + TRANSFORM(DATETIME(1899,12,30) + .DateTime * 86400) ? 'Modificado: ' + TRANSFORM(DATETIME(1899,12,30) + .LastWriteTime * 86400) ? 'Ultimo acceso: ' + TRANSFORM(DATETIME(1899,12,30) + .LastAccessTime * 86400) ? ENDWITH ENDFOR ELSE ? 'El archivo no se encontró.' ENDIF loFiler = NULL2. Búsqueda del texto "Microsoft" en archivos "*.TXT":
LOCAL loFiler AS 'Filer.FileUtil' *-- Creo el objeto loFiler = CREATEOBJECT('Filer.FileUtil') *-- Indico la ruta loFiler.SearchPath = HOME(1) *-- Indico el archivo o mascara (Ej: *.dbf) loFiler.FileExpression = '*.TXT' *-- Indico que NO busque en subcarpetas loFiler.SubFolder = 0 *-- Indico el texto a buscar loFiler.SearchText1 = "Microsoft" *-- Busco... loFiler.Find(0) IF loFiler.Files.Count > 0 FOR lnCant = 1 TO loFiler.Files.Count *-- Edito el archivo loFiler.Files.Item(lnCant).Edit ENDFOR ELSE MESSAGEBOX('No se encontró el texto en ningún archivo.',64,'Aviso') ENDIF loFiler = NULL
Notas adicionales
1. Visual FoxPro incluye un formulario de ejemplo, donde se muestra una interfaz de usuario para Filer.dll. Para ver este formulario, ejecute:
2. Las propiedades de fechas y horas (DO FORM (HOME(1) + 'Tools\Filer\Filer.scx')Al ejecutar el formulario Filer.scx se agrega el elemento Filer al menú de Herramientas (Tools) de Visual FoxPro, que permanece por toda la sesión de VFP.
DateTime
, LastWriteTime
y LastAccessTime
), retornan un valor numérico, donde la parte entera es la cantidad de días transcurridos desde el 30 de diciembre de 1899; y la parte fraccionaria es la fracción del día que determina la hora.3. Todos los archivos que se encuentran en la carpeta
\Tools\Filer
del directorio de instalación de Visual FoxPro pueden ser distribuidos con nuestras aplicaciones.4. Puede ver información mas detallada de todas las propiedades y métodos del objeto Filer, en la ayuda de VFP, bajo el tema Filer.dll.
Luis María Guayán
siempre se aprende algo
ResponderBorrar