|
|
|
|
- Ejemplo de valores que pueden ser tomados por el parámetro
- Los valores devueltos por la Procedure
WLanguage Procedure llamado por fCopyFile WLanguage Procedure ("callback") llamado por fCopyFile para cada archivo copiado. Este Procedure se utiliza para obtener el ruta del archivo que se va a copiar y el ruta de destino asociado. Por ejemplo, esta Procedure puede utilizarse para filtrar los archivos que se van a copiar. Este procedimiento puede ser local, global o interno. // Copy the files found in the "C:\MyImages" directory ResCopy = fCopyFile("C:\MyImages\*.*", "D:\MyFiles\", fCopyFile_Callback) INTERNAL PROCEDURE fCopyFile_Callback(ToCopy, Destination) // The procedure is called for each file in the directory. // The ToCopy parameter contains the name of the file to be copied // The Destination parameter contains the name of the destination file // In this example, files with extension ".xlsx" are not copied IF fExtractPath(ToCopy, fExtension) = ".xlsx" THEN RESULT fcIgnore ELSE // Display the name of the file being copied in a static control STC_File_InProgress = ToCopy RESULT fcCopy END END
Sintaxis
<Result> = fCopyFile_Callback(<File to copy> , <Destination file> [, <Change> [, <Procedure pointer>]])
<Result>: Constante de tipo Integer copy del elemento actual: | | fcCopy | Se utiliza para continuar el copy. | fcIgnore | Se usa para ignorar la copy de un archivo. | fcStop | Se utiliza para detener el copy permanentemente. |
<File to copy>: Cadena de caracteres Ruta y nombre del archivo a copy. <Destination file>: Cadena de caracteres Ruta y nombre del archivo de destino. <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 <Archivo a copy> (esto significa que el directorio ha sido cambiado). | flFile | Todos los demás casos. | flFirstFile | El archivo es el primero que aparece en el directorio de <Archivo a copy>. |
<Procedure pointer>: Entero opcional Valor pasado en el parámetro <Puntero> de la función fCopyFile. Si no se especifica el parámetro <Puntero> en la función fCopyFile, 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 copiados por fCopyFile: | | 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 |
Los valores devueltos por la Procedure El Procedure llamado por fCopyFile debe devolver uno de los siguientes valores: | | fcCopy | Se utiliza para continuar el copy. | fcIgnore | Se usa para ignorar la copy de un archivo. | fcStop | Se utiliza para detener el copy permanentemente. |
Se produce un error de WLanguage si el Procedure no devuelve uno de estos valores. Caso 1. Interrupción total de copy Para forzar la interrupción de la copia, el Procedure llamado por fCopyFile debe devolver la constante fcStop. Ejemplo: el "CopyProduct" Procedure es llamado automáticamente por fCopyFile: PROCEDURE CopyProduct(PathSourceFile, PathDestinationFile) ... // Stop requested? Multitask(-1) IF KeyPressed(kpEscape) = True THEN Info("The copy will be stopped") RESULT fcStop END ... RESULT fcCopy
Si se pulsa la tecla Esc, el Procedure llamado por fCopyFile devuelve la constante fcStop. En cualquier otro caso (para seguir copiando), el Procedure llamado por fCopyFile devuelve la constante fcCopy. Caso 2. Partial interrupción de copy Para evitar que el Procedure llamado por fCopyFile se ejecute para un archivo determinado, este Procedure debe devolver la constante fcIgnore. Ejemplo: La Procedure "FindProduct" es llamada automáticamente por fCopyFile: PROCEDURE FindProduct(PathSourceFile, PathDestinationFile) ... // File to ignore IF StringEndsWith(PathSourceFile, "WrongFile.XLS") THEN RESULT fcIgnore END ... RESULT fcCopy
Para evitar copiar el archivo "WrongFile.XLS", el Procedure devuelve la constante fcIgnore. La Procedure es llamada automáticamente para el siguiente archivo copiado, sin copiar el archivo actual. Clasificación Lógica de negocio / UI: Código neutro
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|