|
|
|
|
- Implementación
- Detalles de los diferentes pasos
- Etapa 1: Establecimiento de una conexión con un servidor RPC o FTP WINDEV
- Etapa 2: Transmisión de un archivo a un servidor FTP WINDEV
- Etapa 3: Recuperación de un archivo desde un servidor FTP WINDEV
- Etapa 4: Cerrar una conexión a un servidor RPC o FTP WINDEV
Uso detallado de WINDEV FTP/RPC
Para cargar y descargar archivos, debe cumplir con las siguientes reglas: - Conectarse a un servidor FTP WINDEV con NetConnect. Esta función establece una conexión entre WINDEV y el servidor y proporciona un identificador de conexión.
- Cargar, descargar archivos.
- Cierre la conexión con el servidor con NetDisconnect.
Observaciones: - El protocolo de comunicación TCP/IP debe ser instalado y se debe definir un Address IP.
- Para crear un servidor FTP/RPC WINDEV, basta con utilizar NetStartServer.
Detalles de los diferentes pasos Etapa 1: Establecimiento de una conexión con un servidor RPC o FTP WINDEV Para transferir archivos, se debe establecer una conexión con un servidor RPC o FTP de WINDEV.. La conexión la establece NetConnect. El código para establecer una conexión debe encontrarse antes de la primera función "Net".. El valor devuelto por NetConnect debe ser almacenado porque éste será utilizado por las otras funciones "RPC" y "FTP". El código utilizado para conectarse a un servidor RPC es el siguiente: FUNCTION RPCConnection (Address, User, Password) // Connection to an RPC server ConnectionNum is int ConnectionNum = NetConnect(Address, RPCServer, User, Password) RESULT ConnectionNum
Observación: ¿Cómo crear un servidor RPC o FTP WINDEV?Para crear un servidor WINDEV RPC o FTP, debe crear una aplicación que utilice NetStartServer para iniciar el servidor. Servidor NetEnd se utiliza para detener este servidor. El archivo WDRPCSRV.INI que contiene los derechos de conexión concedidos a los usuarios.. Este archivo de texto y el servidor RPC/FTP WINDEV se encuentran en el mismo directorio. Debe contener una sección de "contraseñas" en la que cada punto de entrada sea un nombre de usuario: [Passwords] UserName1=Password1 UserName2=Password2 UserName3=Password3 ... Observaciones: - El servidor debe ser accesible por todos los ordenadores cliente (vía TCP/IP).
- Para ser accesible, el servidor debe estar iniciado.
Etapa 2: Transmisión de un archivo a un servidor FTP WINDEV En el siguiente ejemplo, se transmite un archivo al servidor FTP de WINDEV ( NetSendArchivo). Se utiliza una barra de progreso para seguir el progreso de la transferencia.. // Initialization code of "RPCClient" window GLOBAL Transfer_Completed is boolean = False Transfer_InProgress is boolean = False Event("ProgBar_Transfer", "RPCClient", "SendFile") .... ConnectFTP is int = NetConnect("148.61.125.245", FTPServer, "GUEST", "") ...
// -- Button for sending the transfer IF Transfer_InProgress = True THEN Error("A file transfer is in progress") ELSE Transfer_Completed = False Transfer_InProgress = True IF NetSendFile(ConnectFTP, "C:\autoexec.bat", "C:\autoexec.cli", ... "SendFile", 10) = False THEN Info("The transfer failed") END ... END
// -- ProgBar_Transfer procedure: managing the current transfer PROCEDURE ProgBar_Transfer Message("Transfer in progress") ProgressBar(_EVE.wParam, _EVE.lParam) IF _EVE.wParam = _EVE.lParam THEN Transfer_InProgress = False Transfer_Completed = True Message("Transfer completed") Info("Transfer completed") END
Etapa 3: Recuperación de un archivo desde un servidor FTP WINDEV NetGetFile se utiliza para recuperar un archivo encontrado en el servidor FTP/RPC de WINDEV. Observación: puede encontrar fácilmente la lista de directorios y archivos encontrados en un servidor FTP WINDEV. Un ejemplo está disponible en la description de NetDirList. // -- Window opening code // Request a message from Windows GLOBAL WM_MYMESSAGE is int lpString is string fixed on 20 = "ProgBar_Main" ConnectFTP is int // Connection ConnectFTP = NetConnect("148.61.125.245", FTPServer, "GUEST", "") WM_MYMESSAGE = CallDLL32("USER32", "RegisterWindowMessageA", &lpString) // Branch the ProgBar procedure on this message Event("UPDProgBar", "MAIN", WM_MYMESSAGE)
// -- Code of button for file retrieval HourGlass(True) IF NOT NetGetFile(ConnectFTP, "C:\autoexec.bat", "C:\autoexec.cli", WM_MYMESSAGE, 10) THEN Error("Error while transferring the file") END HourGlass(False)
// -- UPDProgBar() procedure PROCEDURE UPDProgBar() // Display the progress bar // If the entire file is transferred, reinitialize the progress bar IF _EVE.wParam = _EVE.lParam THEN // Transfer completed ProgressBar() ELSE // Transfer in progress ProgressBar(_EVE.wParam, _EVE.lParam, "Transfer in progress") END
Etapa 4: Cerrar una conexión a un servidor RPC o FTP WINDEV Una vez transferidos los archivos, debe desconectarse del servidor RPC o FTP de WINDEV.. La desconexión la realiza NetDisconnect. El código de desconexión debe encontrarse después de la última declaración "Net".. La "ConnectionNum" Variable, necesaria para la desconexión, contiene el valor devuelto por NetConnect.
El código utilizado para desconectarse de un servidor RPC WINDEV es el siguiente: // Disconnection from a WINDEV RPC server // ConnectionNum contains the value returned by NetConnect NetDisconnect(ConnectionNum)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|