PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Procédure manipulant chaque fichier listé
  • Délai de transfert
  • Navigateur Internet
  • Permissions requises
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.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
WINDEVLinux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
WEBDEV - Code ServeurLinux Cette fonction est désormais disponible pour les sites WEBDEV sous Linux.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidJavaCode Utilisateur (MCU)Ajax
// 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)
WINDEVWEBDEV - Code ServeurEtats et RequêtesJavaCode Utilisateur (MCU)Ajax
// 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.
PHP Ce paramètre est de type Variant.
<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.
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)Ajax

Navigateur Internet

La fonction FTPListeFichier nécessite l'installation d'Internet Explorer version 3 ou supérieure.
En cas de difficulté, il est conseillé de tester avec le navigateur en lui passant directement un lien de la forme "ftp://serveur/...". En cas de problème avec Internet Explorer (par exemple avec un serveur UNIX), utilisez directement la fonction FTPCommande.
AndroidWidget Android

Permissions requises

L'utilisation de cette fonction entraîne la modification des permissions requises par l'application.
Permission requise : INTERNET
Cette permission autorise l'application à ouvrir des sockets réseau.
Liste des exemples associés :
Les fonctions FTP Exemples unitaires (WINDEV) : Les fonctions FTP
[ + ] Utilisation des principales fonctions FTP de WINDEV :
- 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 : wd270com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
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