AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / Tutorial WINDEV / Tutorial - Base de datos externa
  • Esta lección abarcará los siguientes temas
  • Presentación
  • Conexión a un servidor FTP
  • Enviar un archivo
  • Lista de archivos en un servidor FTP
  • Transferir un archivo
  • Desconectarse de un servidor FTP
Lección 7.8. FTP
Esta lección abarcará los siguientes temas
  • Presentación de las funciones FTP de WINDEV.
Duración de la lección

Tiempo estimado: 20 min
Lección anteriorTabla de contenidoSiguiente lección
Presentación
FTP (File Transfer Protocol) es un protocolo estándar para transferir archivos de una máquina a otra. Una de las máquinas debe ser un servidor FTP.
Varias funciones WLanguage permiten transferir archivos usando este protocolo con un servidor. Estas funciones comienzan con "FTP".
WINDEV solo incluye funciones "cliente" FTP. Se requiere un servidor FTP estándar.
El ejemplo unitario "The FTP functions" muestra cómo manipular archivos en un servidor FTP.

  • Abra el ejemplo unitario "The FTP functions". Este ejemplo presenta las principales funcionalidades que se pueden utilizar en un servidor FTP.
Conexión a un servidor FTP
La función FTPConnect permite conectarse a un servidor FTP. Se necesita una cuenta FTP (nombre de usuario y contraseña) para acceder a un servidor FTP.
  • Abra los eventos WLanguage del botón "Connection" de la ventana "WIN_FTP":
    1. Seleccione el control Botón "Connection".
    2. Pulse F2 para abrir el código WLanguage asociado:
      // 1 - FTP address: corresponds to the FTP site
      // to which the application must connect. Ex: 192.108.10.2
      sFTPAddress is string = EDT_FTP_Server
      // 2 - Username: if this name is not specified,
      // an "anonymous" connection will be used
      sUserName is string = EDT_User
      sUserPWD is string = EDT_Password
      // Connection to FTP server
      gnConnectionID = FTPConnect(sFTPAddress, sUserName, sUserPWD)
      IF ErrorOccurred THEN
      // An error occurred during the connection
      Error("The connection to the FTP server: " + sFTPAddress + " failed", ErrorInfo())
      RETURN
      END
      // The connection is established
      Info("Connection to the FTP server established", "Connection identifier: " + gnConnectionID)
Observación: También es posible especificar el número de puerto de la conexión al servidor FTP ("21" de forma predeterminada), así como el modo de conexión ("True" para una conexión "pasiva", "False" para una conexión "activa").
Para obtener más información, consulte Funciones FTP estándar.
Enviar un archivo
Para enviar un archivo a un servidor FTP, utilice la función FTPSend.
Veamos un ejemplo de código que se puede utilizar:
// When connecting to the server with FTPConnect, we have
// retrieved the connection number in the gnConnectionID variable
// Transfer the "C:\MyDocuments\File.DOC" file to
// the "Temp" directory found on the server.
bResult is boolean = FTPSend(gnConnectionID, "C:\MyDocuments\File.DOC", "/Temp")

¡Atención!

Preste mucha atención a las mayúsculas y minúsculas de los nombres de los directorios en el servidor. Algunos servidores FTP son máquinas UNIX "case sensitive", es decir, que distinguen las mayúsculas y minúsculas de los nombres de los archivos y directorios.
Por ejemplo, hay un directorio llamado "MiDirectorio" en el servidor FTP. Si intenta acceder a "mydirectory", el servidor FTP le devolverá un error como "Ruta no encontrada" porque las mayúsculas y minúsculas no son correctas.
Lista de archivos en un servidor FTP
La función FTPListFile hace una lista de los archivos que se encuentran en un servidor FTP. Esta función utiliza un procedimiento de tipo "callback". El procedimiento se ejecuta por cada archivo o directorio encontrado.
  • Abra los eventos WLanguage del botón "List in a trace" de la ventana "WIN_FTP":
    1. Seleccione el control Botón "List in a trace".
    2. Pulse F2 para abrir el código WLanguage asociado:
      FTPListFile(gnConnectionID,"*.*", CallBackFTPListFile, ftpFile+ftpDirectory)
       
      // Check the function execution
      IF ErrorOccurred THEN
      Error("Error while browsing the files found on the FTP server", ErrorInfo())
      RETURN
      END
    3. En el ejemplo, CallBackFTPListFile es un procedimiento interno que muestra los archivos encontrados en una ventana de salida.
      INTERNAL PROCEDURE CallBackFTPListFile(sFileName, nFileSize <useful>, ...
      sAttribute, sModifDate <useful>, sModifTime <useful>)
       
      // Is it a file or a directory
      IF sAttribute = "D" THEN
      // Directory or subdirectory
      Trace("Directory: " + sFileName)
      ELSE
      // File
      Trace("File: " + sFileName)
      END
       
      // Continue to loop through the files
      RETURN True
Transferir un archivo
Para transferir un archivo de un servidor FTP a su equipo, llame a la función FTPGet.
Veamos un ejemplo de código que se puede utilizar:
// When connecting to the server with FTPConnect, we have
// retrieved the connection number in the gnConnectionID variable
// Download the "/Document/File.DOC" file found
// on the FTP server to the "D:\Temp" directory on
// the current computer
bRes is boolean = FTPGet(gnConnectionID, "C:\MyDocuments\File.DOC", "/Temp")
Desconectarse de un servidor FTP
Para desconectarse de un servidor FTP, utilice la función FTPDisconnect.
  • Abra los eventos WLanguage del botón "Disconnection" de la ventana "WIN_FTP":
    1. Seleccione el control Botón "Disconnection".
    2. Pulse F2 para abrir el código WLanguage asociado:
      IF YesNo(No, "Do you want to close the connection to the FTP server?") = Yes THEN
      // Disconnect from the FTP server
      FTPDisconnect(gnConnectionID)
      IF ErrorOccurred THEN
      // Error while closing the connection
      Error("Unable to close the FTP connection", ErrorInfo())
      RETURN
      END
       
      // The connection is ended
      Info("The connection to the FTP server is over")
      END
Existen otras funciones FTP pero no las presentaremos en detalle en este tutorial. Estas permiten principalmente:
  • crear, eliminar y cambiar directorios en el servidor FTP,
  • crear, eliminar y cambiar archivos en el servidor FTP,
  • obtener información sobre un directorio y/o un archivo,
  • ...
Para obtener más información, consulte Funciones FTP estándar.
Lección anteriorTabla de contenidoSiguiente lección
Versión mínima requerida
  • Versión 28
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 10/02/2023

Señalar un error o enviar una sugerencia | Ayuda local