|
|
|
|
- Ejemplo de valores que pueden ser tomados por el parámetro
- Los valores devueltos por la Procedure
WLanguage Procedure llamado por fCopyDir WLanguage Procedure ("callback") llamado por fCopyDir para cada archivo copiado. Este Procedure se utiliza para manipular el archivo actual. // Copy a directory Res = fCopyDir("C:\Directory\MyFiles", "D:\Documents\FileCopy", FilterFile)
PROCEDURE FilterFile(sSourcePath, sDestinationPath, flChange, nCustomParameter) // Don't copy the temporary files IF fExtractPath(sSourcePath, fExtension) ~= ".tmp" RESULT fcIgnore ELSE RESULT fcCopy END
Sintaxis
<Result> = fCopyDir_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 fCopyDir. Si no se especifica el parámetro <Puntero> en la función fCopyDir, el valor de <Puntero de procedimiento> es 0.Para obtener el valor de <puntero Procedure>, su valor debe asignarse al valor de <puntero> en la Procedure con Transferencia. 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 fCopyDir: | | 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 fCopyDir 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 fCopyDir debe devolver la constante fcStop. Ejemplo: el "CopyProduct" Procedure es llamado automáticamente por fCopyDir: 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 fCopyDir devuelve la constante fcStop. En cualquier otro caso (para seguir copiando), el Procedure llamado por fCopyDir 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 fCopyDir: 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.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|