DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions FTP
  • Procédure manipulant chaque fichier listé
  • Délai de transfert
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
Liste les fichiers d'un répertoire (et/ou les répertoires) d'un serveur FTP et retourne le nombre de fichiers (et/ou de répertoires) listés.
Les fichiers listés sont recherchés dans un répertoire donné. Pour chaque fichier trouvé, FTPListeFichier appelle automatiquement une procédure spécifique. Cette procédure permet de manipuler le fichier en cours. Cette procédure doit renvoyer un résultat (Vrai pour continuer à lister les répertoires et / ou les fichiers, Faux pour arrêter).
Attention : Cette fonction n'est pas récursive. La recherche est effectuée dans le répertoire indiqué, sans tenir compte des sous-répertoires.
Etats et Requêtes
// Liste les fichiers .BMP présents dans "/Documents" sur le serveur FTP.
// La procédure FTPListeFichier_Callback retourne le nombre de fichiers en lecture seule.
ResListeFichier = FTPListeFichier(7, "/Documents/*.BMP", FTPListeFichier_Callback)
Etats et Requêtes
// Connexion à un site FTP
nConnexion est un entier
nConnexion = FTPConnecte("ftp.cdrom.com")
 
nFichier est un entier  // Nombre de fichiers présents dans le répertoire
nJPG est un entier // Nombre de fichiers .JPG
nJPG = 0
 
// On liste les fichiers ".JPG" du répertoire en cours
nFichier = FTPListeFichier(nConnexion, "", FTPListeFichier_Callback, ftpFichier, nJPG)
Info("Il y a" + nJPG + "fichiers .JPG sur" + nFichier + "fichiers listés")
 
 
// Procédure appelée par la fonction FTPListeFichier
// Pour chaque fichier trouvé, la procédure FTPListeFichier_Callback
// permet de compter le nombre de fichiers d'extension ".JPG".
PROCÉDURE INTERNE FTPListeFichier_Callback(Nom, nTaille, sAttribut, sDate, sHeure, nParam)
SI Droite(Nom, 4) ~= ".JPG" ALORS
nParam++
FIN
RENVOYER Vrai
FIN
Syntaxe
<Résultat> = FTPListeFichier(<Identifiant de la connexion> , <Chemin et nom générique des fichiers> , <Procédure WLangage> [, <Fichiers/Répertoires> [, <Paramètre>]])
<Résultat> : Entier
  • Nombre de fichiers listés,
  • 0 (en cas d'erreur). Pour savoir si cette fonction a généré une erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Identifiant de la connexion> : Entier
Identifiant de la connexion, obtenu avec la fonction FTPConnecte.
<Chemin et nom générique des fichiers> : Chaîne de caractères
Chemin et nom générique des fichiers (et des répertoires) à lister. Les caractères génériques (* et ?) sont autorisés. Les parties du chemin sont séparées par des "slash" (barre oblique normale, "/").
Si le chemin est du type "/<NomRépertoire>/<NomFichier>" : le chemin de recherche est "/<NomRépertoire>/<NomFichier>".
Si le chemin est du type "<NomRépertoire>/<NomFichier>" : le chemin de recherche est "/<RépertoireCourantServeur>/<NomRépertoire>/<NomFichier>".
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage (également nommée "callback") appelée pour chaque fichier listé. Cette procédure permet de manipuler le fichier en cours.
Pour forcer l'interruption du parcours, cette procédure doit renvoyer Faux, et pour poursuivre le parcours, la procédure DOIT renvoyer Vrai.
Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction FTPListeFichier.
<Fichiers/Répertoires> : Constante (ou combinaison de constantes) optionnelle
Indique les éléments recherchés :
ftpFichierLa recherche est effectuée uniquement sur les fichiers.
ftpRépertoireLa recherche est effectuée uniquement sur les répertoires.
Par défaut, ce paramètre vaut ftpFichier+ftpRépertoire : la recherche est effectuée sur les fichiers et les répertoires.
<Paramètre> : Type correspondant à la valeur passée (optionnel)
Paramètre passé à la procédure <Nom de la procédure>.
Remarques

Procédure manipulant chaque fichier listé

Pour plus de détails sur les paramètres de la procédure <Procédure WLangage>, consultez Paramètres de la procédure utilisée par la fonction FTPListeFichier.
Attention : Dans la procédure <Procédure WLangage> :
  • aucune fonction FTP utilisant la même connexion que celle de la fonction FTPListeFichier ne doit être appelée.
  • il est possible de récupérer les propriétés (nom, taille, attributs, dates et heures) du fichier listé à l'aide des fonctions FTPNom, FTPTaille, FTPAttribut, FTPDate et FTPHeure. Cependant, cette solution est coûteuse en temps : elle provoque une requête supplémentaire sur le serveur FTP. Il est donc préférable de lire directement les paramètres optionnels passés à la <Procédure WLangage>.

Délai de transfert

Par défaut, toutes les fonctions FTP échouent si aucune réponse du serveur FTP n'est reçue après 20 secondes. Ce délai peut être modifié lors de la connexion au serveur FTP avec la fonction FTPConnecte.
Liste des exemples associés :
Les fonctions FTP Exemples unitaires (WEBDEV) : Les fonctions FTP
[ + ] Utilisation des principales fonctions FTP de WEBDEV pour :
- Se connecter à un serveur FTP
- Lister les fichiers et les répertoires présents sur le serveur FTP
- Récupérer des fichiers présents sur le serveur FTP
- Se déconnecter d'un serveur FTP
Classification Métier / UI : Code métier
Composante : wd300com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Voici une solution pour le retour Callback
nFichier = FTPListeFichier(nConnexion, "", FTPListeFichier_Callback, ftpFichier, nJPG)

PROCÉDURE INTERNE FTPListeFichier_Callback(Nom, nTaille, sAttribut, sDate, sHeure, nParam)

nJPG est un entier
Transfert(&nJPG,nParam,4)
// traitement

Transfert(nParam, &nJPG,4)
FIN
Monsieur ESCOLAR
18 avr. 2024
L'exemple ne fonctionne pas pour moi (WD22)
J'ai essayé en vain de faire fonctionner cet exemple, et je n'ai pas réussi à obtenir le résultat escompté.
Premier point, la procédure Callback n'est pas appelé lorsqu'elle est entre guillemet.
Second point le paramètre nJPG renvoi toujours 0, il devrait être alimenté par nParam de la procédure Callback moi pour moi ce n'est pas le cas.

Cela restera un mystère pour le moment.
thamis
18 aoû. 2021

Dernière modification : 25/05/2022

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