DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions Net
  • Mise en place
  • Détail des différentes étapes
  • Étape 1 : Établissement d'une connexion avec un serveur RPC ou FTP WINDEV
  • Étape 2 : Transmission d'un fichier à un serveur FTP WINDEV
  • Étape 3 : Récupération d'un fichier depuis un serveur FTP WINDEV
  • Étape 4 : Fermeture d'une connexion avec un serveur RPC ou FTP WINDEV
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Mise en place
Pour envoyer et recevoir des fichiers, il faut respecter les règles ci-dessous :
  1. Se connecter à un serveur FTP WINDEV par la fonction NetConnecte. Cette fonction établit une connexion entre WINDEV et le serveur et fournit un identifiant de connexion.
  2. Transmettre, récupérer des fichiers.
  3. Fermer la connexion avec le serveur avec la fonction NetDéconnecte.
Remarques :
  • Le protocole de communication TCP/IP doit être installé et une adresse IP doit être définie.
  • Pour créer un serveur FTP/RPC WINDEV, il suffit d'utiliser la fonction NetDémarreServeur.
Détail des différentes étapes

Étape 1 : Établissement d'une connexion avec un serveur RPC ou FTP WINDEV

Pour transférer des fichiers, il est nécessaire d'établir une connexion avec un serveur RPC ou FTP WINDEV. L'établissement de la connexion est réalisée avec la fonction NetConnecte. Le code d'établissement d'une connexion doit se trouver avant la première fonction "Net". La valeur retournée par NetConnecte doit être conservée car celle-ci sera utilisée par les autres fonctions "RPC" et "FTP".
Le code pour se connecter à un serveur RPC est par exemple le suivant :
FONCTION ConnexionRPC(Adresse, Utilisateur, Motdepasse)
// Connexion à un serveur RPC
NumConnexion est un entier
NumConnexion = NetConnecte(Adresse, ServeurRPC, Utilisateur, Motdepasse)
RENVOYER NumConnexion
Remarque : Comment créer un serveur RPC ou FTP WINDEV ?
Pour créer un serveur RPC ou FTP WINDEV, il suffit de créer une application qui utilise la fonction NetDémarreServeur pour lancer le serveur. La fonction NetFinServeur permet d'arrêter ce serveur.
Le fichier WDRPCSRV.INI contient les droits de connexion des utilisateurs. Ce fichier texte se trouve dans le même répertoire que le serveur RPC/FTP WINDEV. Il doit contenir une section "passwords" dans laquelle chaque point d'entrée est un nom d'utilisateur :
[passWords]
NomUtilisateur1=MotDePasse1
NomUtilisateur2=MotDePasse2
NomUtilisateur3=MotDePasse3
...
Notes :
  • Le poste serveur doit être accessible par tous les postes client (par TCP/IP).
  • Pour être accessible, le poste serveur doit être lancé.

Étape 2 : Transmission d'un fichier à un serveur FTP WINDEV

Dans l'exemple suivant, un fichier est transmis au serveur FTP WINDEV (fonction NetEnvoieFichier). Une jauge de progression permet de suivre la progression du transfert.
// Code d'initialisation de la fenêtre "ClientRPC"
GLOBAL
Transfert_Terminé est un booléen = Faux
Transfert_EnCours est un booléen = Faux
 
Evénement("Jauge_Transfert", "ClientRPC", "EnvoieFichier")
....
ConnectFTP est un entier = NetConnecte("148.61.125.245", ServeurFTP, "GUEST", "")
...
// -- Bouton d'envoi du transfert
SI Transfert_EnCours = Vrai ALORS
Erreur("Un transfert de fichier est actuellement en cours")
SINON
Transfert_Terminé = Faux
Transfert_EnCours = Vrai
SI NetEnvoieFichier(ConnectFTP, "C:\autoexec.bat", "C:\autoexec.cli", ...
"EnvoieFichier", 10) = Faux ALORS
Info("Échec du transfert")
FIN
...
FIN
// -- Procédure Jauge_Transfert : gestion du transfert en cours
PROCÉDURE Jauge_Transfert
Message("Transfert en cours")
Jauge(_EVE.wParam, _EVE.lParam)
SI _EVE.wParam = _EVE.lParam ALORS
Transfer_EnCours = Faux
Transfert_Terminé = Vrai
Message("Transfert terminé")
Info("Transfert terminé")
FIN

Étape 3 : Récupération d'un fichier depuis un serveur FTP WINDEV

La fonction NetRécupèreFichier permet de récupérer un fichier présent sur le serveur FTP/RPC WINDEV.
Remarque : il est possible de connaître facilement la liste des répertoires et fichiers sur un serveur FTP WINDEV. Vous pourrez trouver un exemple dans la description d'utilisation de la fonction NetListeRep.
// -- Code d'ouverture de la fenêtre
// Demande d'un message disponible à Windows
GLOBAL
WM_MYMESSAGE est un entier
lpString est une chaîne fixe sur 20 = "Jauge_Main"
ConnectFTP est un entier
// Connexion
ConnectFTP = NetConnecte("148.61.125.245", ServeurFTP, "GUEST", "")
 
WM_MYMESSAGE = AppelDLL32("USER32", "RegisterWindowMessageA", &lpString)
 
// Branchement de la procédure Jauge sur ce message
Evénement("MAJJauge", "MAIN", WM_MYMESSAGE)
// -- Code du bouton de récupération de fichier
Sablier(Vrai)
SI PAS NetRécupèreFichier(ConnectFTP, "C:\autoexec.bat", "C:\autoexec.cli", WM_MYMESSAGE, 10) ALORS
Erreur("Erreur dans le transfert de fichier")
FIN
Sablier(Faux)
// -- Procédure MAJJauge()
PROCÉDURE MAJJauge()
// Affichage de la jauge
// Si tout le fichier est transféré, on réinitialise la jauge
SI _EVE.wParam = _EVE.lParam ALORS
// Transfert terminé
Jauge()
SINON
// Transfert en cours
Jauge(_EVE.wParam, _EVE.lParam, "Transfert en cours")
FIN

Étape 4 : Fermeture d'une connexion avec un serveur RPC ou FTP WINDEV

Après avoir transférer des fichiers, il est nécessaire de rompre la connexion avec le serveur RPC ou FTP WINDEV. La déconnexion est réalisée avec la fonction NetDeconnecte. Le code de déconnexion doit se trouver après la dernière instruction "Net". La variable "NumConnexion", nécessaire à la déconnexion, contient la valeur retournée par NetConnecte. Le code pour se déconnecter d'un serveur RPC WINDEV est le suivant :
// Déconnexion à un serveur RPC WinDev
// NumConnexion contient la valeur retournée par NetConnecte
NetDéconnecte(NumConnexion)
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale