|
|
|
|
- Progreso de la transferencia de archivos
- Frecuencia de la Event
Recupera un archivo existente de un servidor FTP (File Transfer Protocol) alimentado por WINDEV.. El archivo es recuperado por el ordenador cliente. Observación: Para permitir (o no) el uso de esta función en un servidor FTP/RPC, llame a NetServerOpción. // -- Code of button for file retrieval HourGlass(True) IF NetGetFile(ConnectFTP, "C:\autoexec.bat", "C:\autoexec.cli", ... WM_MYMESSAGE, 10) = False THEN Error("Error while transferring the file") END HourGlass(False)
Sintaxis
<Result> = NetGetFile(<Connection identifier> , <File on server> , <File on client computer> [, <Event> [, <Event frequency>]])
<Result>: booleano - True si se realizó la transferencia,
- False en caso contrario.
La función devuelve inmediatamente un status reporte y la transferencia se realiza en paralelo en otra tarea de Windows.
<Connection identifier>: Integro Identificador de conexión (devuelto por NetConnect). <File on server>: Cadena de caracteres ANSI Nombre completo (nombre y ruta) del archivo a copy, encontrado en el servidor. <File on client computer>: Cadena de caracteres ANSI Nombre completo (nombre y apellido y ruta) del archivo copiado en el ordenador cliente. <Event>: Cadena de caracteres o entero (opcional) Evento personalizado o evento de Windows enviado al cliente para seguir el progreso de la Transfer( ver las Notas). <Event frequency>: Entero opcional Frecuencia (en porcentaje del tamaño del archivo) con la que se envía el mensaje al cliente.. Observaciones Progreso de la transferencia de archivos El progreso de la transferencia de archivos se gestiona únicamente en el programa cliente FTP. NetGetFile no es una función de bloqueo: la transferencia de archivos se realiza en la tarea de Background. Sin embargo, usted tiene la capacidad de transferir un solo archivo a la vez. Para transferir varios archivos , debe esperar a que se transfiera cada archivo antes de transferir el siguiente. En este caso, se pueden usar dos parámetros con NetGetFile: - un mensaje de progresión (parámetro ),
- una frecuencia (parámetro <Frecuencia evento>).
NetGetFile envía el mensaje especificado para seguir el progreso de la transferencia. Este mensaje debe ser interceptado por Event. El mensaje contiene dos parámetros: - _EVE.wParam indica el tamaño transferido (indicador de progreso),
- _EVE.lParam indica el tamaño total del archivo.
El mensaje de progreso se procesa en el Procedure llamado por Event. En este procedimiento, es posible: - mostrar una barra de progreso utilizando los parámetros del mensaje (_EVE.lParam y _EVE.wParam),
- averiguar si se ha completado la transferencia de archivos (en este caso, _EVE.lParam = _EVE.wParam).
El parámetro <Frecuencia evento> permite definir la frecuencia mínima de envío de mensajes. Por ejemplo, para un archivo de 1 MB y una frecuencia del 10%, se recibirá un mensaje cada vez que se transfieran 100 KB. La frecuencia define el número máximo de mensajes que se pueden recibir. El número de mensajes recibidos se reduce cuando la transferencia es rápida. Por ejemplo, para un archivo de 100 KB y una frecuencia del 10%, se recibirán alrededor de 10 mensajes: 1 mensaje cada vez que se transfieren 10 KB. De hecho, el número de mensajes será menor porque la transferencia es rápida. Consejos sobre la elección de la frecuencia: - Si no se muestra ninguna barra de progresión, la mejor opción para la frecuencia es set a 100%: Se recibirá un único mensaje cuando se complete la transferencia de archivos.
- Si la velocidad de transferencia es lenta (por ejemplo, transferencia por módem), le recomendamos que muestre una barra de progreso.. Una frecuencia del 10% es apropiada en la mayoría de los casos.
- Si la velocidad de transferencia es rápida (red local por ejemplo), no recomendamos que utilice una frecuencia pequeña (1% por ejemplo) porque el volumen de mensajes recibidos podría saturar el sistema.. En este caso, una frecuencia del 10% es apropiada en la mayoría de los casos.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|