 |
Cette page est également disponible pour : WINDEV Mobile, WINDEV, WEBDEV, Etats & Requêtes
| Version affichée : |
|
| fListeFichier (Fonction) En anglais : fListFile | |
|
Masquer les détails Liste les fichiers d'un répertoire
<Résultat> = fListeFichier(<Chemin et nom générique des fichiers> , <Options>)
<Résultat> : Chaîne de caractères Nom complet des fichiers listés, séparés par des Retours Chariots (RC).
Attention : La fonction peut renvoyer des fichiers dont le nom court correspond au filtre utilisé (alors que le nom long ne correspond pas à ce filtre). <Chemin et nom générique des fichiers> : Chaîne de caractères (avec guillemets) Chemin et nom générique des fichiers à lister. Les caractères génériques (* et ?) sont autorisés. Cas particuliers :- si le répertoire et le lecteur ne sont pas précisés : le chemin de recherche est constitué à partir du lecteur en cours et du répertoire en cours pour ce lecteur.
- si le lecteur n'est pas précisé mais le répertoire est précisé : le chemin de recherche est constitué à partir du lecteur en cours et du répertoire passé en paramètre.
- si le lecteur est précisé mais le répertoire n'est pas précisé, le chemin de recherche est constitué à partir du lecteur précisé et du répertoire en cours pour ce lecteur.
Versions 15 et supérieures Nouveauté 15 Versions 16 et supérieures Nouveauté 16 Versions 17 et supérieures Nouveauté 17 <Options> : Combinaison de constantes de type Entier Option permettant de définir les informations renvoyées ainsi que le type de parcours effectué pour les fichiers du répertoire : |
|
| Procédure manipulant chaque fichier listé (syntaxe 2 uniquement) Pour chaque fichier trouvé, la fonction fListeFichier appelle automatiquement la procédure <Nom de la procédure>. Cette procédure est une procédure locale ou globale.Pour créer cette procédure : 1. Créez une procédure globale (option "Insertion .. Nouvelle procédure globale" de l'éditeur de code).1. Créez une procédure globale (depuis l'éditeur de code : sous le volet "Code", dans le groupe "Procédure", déroulez "Nouveau" et sélectionnez "Nouvelle procédure globale").2. Complétez la déclaration de la procédure de la manière suivante :PROCEDURE <Nom de la procédure> (<Chemin>, <Nom du fichier>, <Change>, <Pointeur de la procédure>) - <Chemin> est le chemin du fichier manipulé (il contient toujours un "\" à la fin; par exemple, "C:\WINDEV\").
- <Nom du fichier> est une chaîne de caractères contenant le nom du fichier trouvé.
- <Change> est une constante qui vaut :
- flPremierFichier lorsque le fichier est le premier listé dans le <Chemin>,
- flChangeRépertoire lorsque le fichier est le premier listé dans un sous-répertoire de <Chemin> (cela signifie qu'il y a eu changement de répertoire),
- flFichier dans tous les autres cas.
Voici les différentes valeurs pouvant être prises par <Change> : | | | Fichier en cours | <Change> | | Rep\Fichier 1 | flPremierFichier | | Rep\Fichier n | flFichier | | Rep\SousRep 1\Fichier 1 | flChangeRépertoire | | Rep\SousRep 1\Fichier m | flFichier | | Rep\SousRep 2\Fichier 1 | flChangeRépertoire | | Rep\SousRep 2\Fichier x | flFichier |
- <Pointeur de la procédure> est un entier qui vaut la valeur passé dans le paramètre <Pointeur> de la fonction fListeFichier. Si le paramètre <Pointeur> n'est pas précisé, <Pointeur> vaut 0.
Pour récupérer la valeur du <Pointeur de la procédure>, affectez la valeur du <Pointeur de la procédure> à la valeur du <Pointeur> dans la procédure avec la fonction Transfert (voir Exemple détaillé accessible en haut de page). Remarque : Les paramètres de cette procédure sont optionnels : il est possible par exemple de ne spécifier que le nom et le chemin. |
Interruption complète de fListeFichier (Syntaxe 2) Tant qu'il y a des fichiers à parcourir, la fonction fListeFichier ne peut pas être interrompue.Pour forcer l'interruption du parcours complet, utilisez la ligne suivante dans la procédure <Nom de la procédure> : RENVOYER Faux
Par exemple, la procédure "RechProduit" est appelée automatiquement par la fonction fListeFichier : PROCEDURE RechProduit(Chemin, NomFichier) ... // Arrêt demandé ? Multitâche(-1) SI ToucheEnfoncée(teEchap) = Vrai ALORS Info("La recherche va être arrêtée") RENVOYER Faux FIN ... RENVOYER Vrai
Dans ce cas, la fonction fListeFichier retourne le nombre de fichiers parcourus jusqu'à l'appel de "Renvoyer Faux". Dans les autres cas (pour poursuivre le parcours), la procédure <Nom de la procédure> DOIT renvoyer Vrai.Si la procédure <Nom de la procédure> ne retourne aucune valeur (ni Vrai, ni Faux), une erreur est générée. |
Interruption partielle de fListeFichier (Syntaxe 2) Pour que la procédure <Nom de la procédure> ne s'exécute pas pour un fichier donné, utilisez la ligne suivante :RENVOYER Vrai
Par exemple, la procédure "RechProduit" est appelée automatiquement par la fonction fListeFichier :PROCEDURE RechProduit(Chemin, NomFichier) ... // Fichier à ne pas prendre en compte SI NomFichier = "MauvaisFichier.XLS" ALORS RENVOYER Vrai FIN ... RENVOYER Vrai
Dans ce cas, la fonction fListeFichier appelle automatiquement la procédure <Nom de la procédure> pour le prochain fichier listé. Si la procédure <Nom de la procédure> ne retourne aucune valeur (ni Vrai, ni Faux), une erreur est générée. |
Gestion des erreurs Attention : La fonction fListeFichier ne retourne pas de code d'erreur. Pour savoir si cette fonction a généré une erreur, utilisez la fonction ErreurInfo avec la constante errMessage. |
|
|
|
Liste des exemples associés :
|
Exemple unitaire (WinDev) : La fonction fListeFichier
[ + ] Utilisation de la nouvelle syntaxe de fListeFichier/fListeRépertoire Cet exemple montre comment utiliser la nouvelle syntaxe de la fonction fListeFichier. Cette nouvelle syntaxe n'utilise plus le système de procédure callback. Elle renvoie directement la liste des fichiers/répertoires trouvés sous la forme d'une chaine.
|
|
| | | |
| |
|
Version minimum requise : 9
Communauté : 3 annotations  Connectez-vous pour ajouter une annotation | Conditions Générales du service d'annotations
Connectez-vous pour ajouter une annotation
| |
| |
| |  | |