|
|
|
|
- Ejemplo de valores que pueden ser tomados por el parámetro
- Interrupción completa de la función fListFile
- Partial interrupción de fListFile
Procedimiento WLanguage llamado por la función fListFile WLanguage Procedure ("Callback") llamado por fListFile para cada archivo encontrado. Este procedimiento puede ser local, global o interno. // Finding out the number of read-only "*.DOC" files // in a directory. // Declare and initialize the variables // Number of files matching the criteria NbROFiles is int // Number of "*.DOC" files NbDocFiles is int NbDocFiles = 0 SearchCriterion is string // Select the directory in which the files will be listed SearchCriterion = "C:\MyDocuments\" // Add the "\*.doc" criterion at the end of the name of the selected directory SearchCriterion = SearchCriterion + "\*.doc" // List of "*.DOC" files NbDocFiles = fListFile(SearchCriterion, "FileAttribute", &NbROFiles) // Display the number of files matching the criteria Info("There are" + NbROFiles + "read-only files out of" + ... NbTXTFiles + "listed files") // --------------------------------------------------- // Local fListFile procedure PROCEDURE FileAttribute(Directory, Name, Change, NbDocFiles) // Declare the variable NbROFiles is int // Read-only files? IF Position(fAttribute(Directory + Name), "R") <> 0 THEN Transfer(&NbROFiles, NbDocFiles, 4) NbROFiles++ Transfer(NbDocFiles, &NbROFiles, 4) // Display the name of the file in "LIST_FileList" ListAdd(LIST_FileList, Directory + Name) END RETURN True
Sintaxis
<Result> = fListFile_Callback(<Path> , <File name> [, <Change> [, <Procedure pointer>]])
<Result>: booleano - True para seguir navegando por los archivos,
- False para dejar de navegar por los archivos.
<Path>: Cadena de caracteres Ruta del archivo manipulado (siempre termina con una barra invertida "\"; por ejemplo, "C:\WINDEV\"). <File name>: Cadena de caracteres Nombre del archivo encontrado. <Change>: Constante opcional de tipo Integer Permite saber si se cambió de directorio. Los valores posibles son: | | flChangeDir | El archivo es el primero que aparece en un subdirectorio de <Ruta> (esto significa que ha habido un cambio de directorio). | flFile | Todos los demás casos. | flFirstFile | El archivo es el primero que aparece en la <Ruta>. |
<Procedure pointer>: Entero opcional Valor pasado en el parámetro <Puntero> de la función fListFile. Si no se especifica el parámetro <Puntero> en la función fListFile, el valor de <Puntero de procedimiento> es 0. Observaciones Ejemplo de valores que pueden ser tomados por el parámetro <Cambiar> A continuación se detallan los diferentes valores que puede tomar <Cambio> al navegar por los archivos listados por fListFile: | | Archivo actual | <Cambiar> |
---|
Dir\Archivo 1 | flFirstFile | Dir\Archivo n | flFile | Dir\SubDir 1\Archivo 1 | flChangeDir | Dir\SubDir 1\Archivo m | flFile | Dir\SubDir 2\Archivo 1 | flChangeDir | Dir\SubDir 2\Archivo x | flFile |
Interrupción completa de la función fListFile Mientras haya archivos que navegar, fListFile no puede ser interrumpida. Para forzar la interrupción completa de la navegación, utilice la siguiente línea en el procedimiento: Por ejemplo, la función fListFile llama automáticamente al procedimiento "BuscarProducto": PROCEDURE FindProduct(Path, FileName) ... // Stop requested? Multitask(-1) IF KeyPressed(kpEscape) = True THEN Info("The search will be stopped") RESULT False END ... RETURN True
En este caso, la función fListFile devuelve el número de archivos encontrados hasta que se llame a "RESULT False". En los demás casos, (para continuar la navegación), el procedimiento DEBE devolver True. Si el procedimiento no devuelve ningún valor (ni True ni False), se genera un error. Partial interrupción de fListFile Para evitar que el procedimiento se ejecute para un archivo determinado, introduzca la siguiente línea: Por ejemplo, la función fListFile llama automáticamente al procedimiento "BuscarProducto": PROCEDURE FindProduct(Path, FileName) ... // File to ignore IF FileName = "WrongFile.XLS" THEN RETURN True END ... RETURN True
En este caso, fListFile llama automáticamente a la Procedure para el siguiente archivo encontrado. Si el procedimiento no devuelve ningún valor (ni True ni False), se genera un error. Clasificación Lógica de negocio / UI: Código neutro
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|