PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Procédure manipulant chaque répertoire listé (syntaxe 2 uniquement)
  • Interruption de fListeRépertoire (Syntaxe 2)
  • Gestion des erreurs
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Liste les sous-répertoires d'un répertoire donné et retourne les chemins complets des sous-répertoires listés.
Autre utilisation : Pour chaque répertoire trouvé, la fonction fListeRépertoire peut appeler automatiquement une procédure spécifique écrite en WLangage. Cette procédure permet de manipuler le répertoire en cours. Dans ce cas, la fonction fListeRépertoire retourne le nombre de répertoires listés.
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 16 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Nouveauté 16
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindows MobileJavaPHPAjaxCode Utilisateur (MCU)
UnRépertoire, ResListeRépertoire sont des chaînes
RépertoireAlister est une chaîne
RépertoireAlister = "C:\MesDocuments"
// Windows Mobile : RépertoireAlister = "\MesDocuments"
 
// Liste tous les répertoires présents dans RépertoireAlister.
ResListeRépertoire = fListeRépertoire(RépertoireAlister)
// Pour chaque répertoire trouvé
POUR TOUTE CHAÎNE UnRépertoire DE ResListeRépertoire SEPAREE PAR RC
// Ajout du répertoire dans la table TABLE_TableRep
TableAjoute(TABLE_TableRep, UnRépertoire)
FIN
WINDEVWEBDEV - Code ServeurEtats et RequêtesWindows MobileJavaPHPAjaxCode Utilisateur (MCU)
RépertoireAlister = "C:\MesDocuments"
// Windows Mobile : RépertoireAlister = "\MesDocuments"
 
 
// Liste les répertoires présents dans RépertoireAlister.
// La procédure AttributRepertoire retourne le nombre de répertoires en lecture seule.
ResListeRépertoire = fListeRépertoire(RépertoireAlister, "AttributRépertoire")
Syntaxe

Lister les sous-répertoires d'un répertoire Masquer les détails

<Résultat> = fListeRépertoire(<Chemin du répertoire initial> [, <Options>])
<Résultat> : Chaîne de caractères
Nom des répertoires listés, séparés par des Retours Chariots (RC).
<Chemin du répertoire initial> : Chaîne de caractères (avec guillemets)
Chemin du répertoire à partir duquel la recherche des sous-répertoires doit être effectuée.
Versions 15 et supérieures
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
Nouveauté 15
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
Versions 16 et supérieures
Universal Windows 10 App Le chemin du répertoire correspond à un chemin relatif par rapport au répertoire en cours. Le répertoire en cours correspond au répertoire des données de l'application connu.
Rappel : Seuls les répertoires présents dans le répertoire des données associé à l'application peuvent être manipulés.
Nouveauté 16
Universal Windows 10 App Le chemin du répertoire correspond à un chemin relatif par rapport au répertoire en cours. Le répertoire en cours correspond au répertoire des données de l'application connu.
Rappel : Seuls les répertoires présents dans le répertoire des données associé à l'application peuvent être manipulés.
Universal Windows 10 App Le chemin du répertoire correspond à un chemin relatif par rapport au répertoire en cours. Le répertoire en cours correspond au répertoire des données de l'application connu.
Rappel : Seuls les répertoires présents dans le répertoire des données associé à l'application peuvent être manipulés.
Versions 17 et supérieures
iPhone/iPad Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
Nouveauté 17
iPhone/iPad Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
iPhone/iPad Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
<Options> : Constante ou combinaison de constantes (optionnelle) de type entier
Options pouvant être prises en compte :
fCheminUNICODE
Versions 15 et supérieures
<Résultat> sera une chaîne au format Unicode.
Windows Mobile Cette constante est ignorée car <Résultat> est toujours une chaîne Unicode.
Nouveauté 15
<Résultat> sera une chaîne au format Unicode.
Windows Mobile Cette constante est ignorée car <Résultat> est toujours une chaîne Unicode.
<Résultat> sera une chaîne au format Unicode.
Windows Mobile Cette constante est ignorée car <Résultat> est toujours une chaîne Unicode.
Versions 16 et supérieures
Universal Windows 10 App Cette constante est ignorée.
Nouveauté 16
Universal Windows 10 App Cette constante est ignorée.
Universal Windows 10 App Cette constante est ignorée.
frInterruptibleLe parcours peut être interrompu en utilisant la touche ECHAP. Le résultat renvoyé sera alors le nom des répertoires listés jusqu'à l'interruption.
WEBDEV - Code ServeurWindows MobileUniversal Windows 10 App Cette constante n'a aucun effet.
frNonRécursifLe parcours est non récursif. Les sous-répertoires ne sont pas pris en compte.
frRécursif
(Valeur par défaut)
Le parcours est récursif. Les sous-répertoires sont automatiquement pris en compte.
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidiPhone/iPadWindows MobileJavaPHPAjaxCode Utilisateur (MCU)

Liste les répertoires d'un répertoire en appelant une procédure pour chaque répertoire Masquer les détails

<Résultat> = fListeRépertoire(<Chemin du répertoire initial> , <Nom de la procédure> [, <Pointeur> [, <Options>]])
<Résultat> : Entier
Nombre de répertoires listés.
<Chemin du répertoire initial> : Chaîne de caractères (avec guillemets)
Chemin du répertoire à partir duquel la recherche des sous-répertoires doit être effectuée.
Versions 15 et supérieures
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
Nouveauté 15
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
AndroidWidget Android Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard).
Versions 17 et supérieures
iPhone/iPad Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
Nouveauté 17
iPhone/iPad Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
iPhone/iPad Ce paramètre peut correspondre à un chemin complet ou relatif par rapport au répertoire en cours (connu avec la fonction fRepEnCours). Ce paramètre est sensible à la casse.
Rappel : Sous les iPhone/iPad, une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires.
<Nom de la procédure> : Chaîne de caractères (avec ou sans guillemets)
Nom de la procédure WLangage ("callback") appelée pour chaque répertoire listé. Cette procédure permet de manipuler le répertoire en cours. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure> (<Chemin>, <Nom du répertoire>, <Change>,
<Pointeur de la procédure>)
Les paramètres de cette procédure sont optionnels.
Il n'est pas nécessaire de passer des paramètres à cette procédure. En effet, ces paramètres sont renseignés automatiquement à chaque répertoire traité.
<Pointeur> : Entier optionnel
Pointeur passé à la procédure <Nom de la procédure>.
<Options> : Combinaison de constantes de type Entier
Type de parcours effectué pour les fichiers du répertoire :
fCheminUNICODE
Versions 15 et supérieures
<Résultat> sera une chaîne au format Unicode.
Windows Mobile Cette constante est ignorée car <Résultat> est toujours une chaîne Unicode.
Nouveauté 15
<Résultat> sera une chaîne au format Unicode.
Windows Mobile Cette constante est ignorée car <Résultat> est toujours une chaîne Unicode.
<Résultat> sera une chaîne au format Unicode.
Windows Mobile Cette constante est ignorée car <Résultat> est toujours une chaîne Unicode.
frInterruptibleLe parcours peut être interrompu en utilisant la touche ECHAP. Le résultat renvoyé sera alors le nombre de répertoires listés jusqu'à l'interruption.
WEBDEV - Code ServeurWindows Mobile Cette constante n'a aucun effet.
frNonRécursifLe parcours est non récursif. Les sous-répertoires ne sont pas pris en compte.
frRécursif
(Valeur par défaut)
Le parcours est récursif. Les sous-répertoires sont automatiquement pris en compte.
Remarques

Procédure manipulant chaque répertoire listé (syntaxe 2 uniquement)

Pour chaque répertoire trouvé, la fonction fListeRépertoire 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).Créez une procédure globale (sous l'éditeur de code : sous le volet "Code", dans le groupe "Procédures", 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 répertoire>, <Change>,
    <Pointeur de la procédure>)
    • <Chemin> est le chemin du répertoire manipulé (il contient toujours un "\" à la fin; par exemple, "C:\Mes Fichiers\").
    • <Nom du répertoire> est une chaîne de caractères contenant le nom du répertoire trouvé.
    • <Change> est une constante qui vaut :
      • flChangeRépertoire lorsque le répertoire est le premier listé dans un sous-répertoire de <Chemin> (cela signifie qu'il y a eu changement de répertoire),
      • flRépertoire dans tous les autres cas.

        Voici les différentes valeurs pouvant être prises par <Change> :
        Répertoire en cours<Change>
        Rep\Répertoire 1flRépertoire
        Rep\Répertoire nflRépertoire
        Rep\SousRep 1\Répertoire 1flChangeRépertoire
        Rep\SousRep 1\Répertoire mflRépertoire
        Rep\SousRep 2\Répertoire 1flChangeRépertoire
        Rep\SousRep 2\Répertoire xflRépertoire
  • <Pointeur de la procédure> est un entier qui vaut la valeur passé dans le paramètre <Pointeur> de la fonction fListeRépertoire. 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 de fListeRépertoire (Syntaxe 2)

Tant qu'il y a des répertoires à parcourir, la fonction fListeRépertoire ne peut pas être interrompue. Pour forcer l'interruption du parcours, utilisez la ligne suivante dans la procédure <Nom de la procédure> :
RENVOYER Faux
Dans ce cas, la fonction fListeRépertoire retourne le nombre de répertoires 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> retourne aucune valeur (ni Vrai, ni Faux), une erreur est générée.

Gestion des erreurs

Attention : La fonction fListeRépertoire 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 :
La fonction fListeFichier Exemples unitaires (WINDEV) : La fonction fListeFichier
[ + ] Utilisation de la fonction fListeFichier et de sa syntaxe qui renvoie directement la liste des fichiers/répertoires trouvés sous la forme d'une chaine.
Composante : wd240std.dll
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Pas d'Unicode ?
Avec des répertoires en grec et en russe, je n'arrive pas à les récupérer dans la procédure liée à fListeRépertoire : que des "???????" à la place des caractères étrangers.
J'ai demandé fCheminUNICODE au départ et même dans la procédure, j'ai déclaré les paramètres comme chaînes UNICODE (résultat Hexa : 3F<0>3F<0>...) ou buffer (dans ce cas, ça arrive en ANSI, que des "????").
Je vais voir fRep maintenant, puis fListeFichier.
Version : Express 22.
Michel VASSY
11 jan. 2018
Problème syntaxe 2
En utilisant la seconde syntaxe, vous ne pourrez pas faire de parcours non récursif même avec la constante frNonRécursif !
Damien
12 sep. 2017