PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

Version : 19.0

  • Procédure manipulant chaque fichier listé (syntaxe 2 uniquement)
  • Interruption complète de fListeFichier (Syntaxe 2)
  • Interruption partielle de fListeFichier (Syntaxe 2)
  • Gestion des erreurs
  • Équivalence
  • Lister les sous-répertoires d'un répertoire
WinDevWebDev - Code ServeurWebDev - Code NavigateurWinDev MobileEtats et RequêtesWindowsLinuxWindows MobileWindows PhoneWindows Store appsAndroidWidget AndroidiPhone/iPadJavaPHPAjaxCode Utilisateur (MCU)Langage ExterneHFSQLHFSQL Client/ServeurProcédures stockéesHyper File 5.5OLE DBODBCAccès Natifs
fListeFichier (Fonction)
En anglais : fListFile

Liste les fichiers d'un répertoire et retourne la liste des fichiers listés. Les fichiers listés sont recherchés à partir du répertoire donné. Les fichiers sont renvoyés dans l'ordre alphabétique.

Autre utilisation : Pour chaque fichier trouvé, la fonction fListeFichier peut appeler automatiquement une procédure spécifique écrite en WLangage. Cette procédure permet de manipuler le fichier en cours. Dans ce cas, la fonction fListeFichier retourne le nombre de fichiers listés.

Remarque : Sous Windows 64 bits, l'accès à un répertoire système à partir d'un exécutable 32 bits peut être effectué dans un répertoire différent de celui attendu. Pour plus de détails, consultez la page d'aide 64 bits natif et 32 bits natif.

Versions 15 et supérieures
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
WinDev MobileAndroid Cette fonction est désormais disponible pour les applications Android.
Versions 16 et supérieures
WinDev MobileWindows Phone Cette fonction est désormais disponible pour les applications Windows Phone.
Nouveauté 16
WinDev MobileWindows Phone Cette fonction est désormais disponible pour les applications Windows Phone.
WinDev MobileWindows Phone Cette fonction est désormais disponible pour les applications Windows Phone.
Versions 17 et supérieures
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WinDev MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWinDev MobileWindows Store apps Cette fonction est désormais disponible en mode Windows Store apps.
Procédures stockées Cette fonction est désormais disponible dans le code des procédures stockées.
Nouveauté 18
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWinDev MobileWindows Store apps Cette fonction est désormais disponible en mode Windows Store apps.
Procédures stockées Cette fonction est désormais disponible dans le code des procédures stockées.
WinDev MobileWidget Android Cette fonction est désormais disponible en mode Widget Android.
WinDevWinDev MobileWindows Store apps Cette fonction est désormais disponible en mode Windows Store apps.
Procédures stockées Cette fonction est désormais disponible dans le code des procédures stockées.
WinDevEtats et RequêtesPHPAjaxCode Utilisateur (MCU)
UnFichier, ResListeFichier sont des chaînes
// Liste les fichiers de type ".BMP" présents dans "C:\MesDocuments".
// Le parcours se fait également dans les sous-répertoires et est interruptible.
ResListeFichier = fListeFichier("C:\MesDocuments\*.BMP", frRécursif + frInterruptible)
// Pour chaque fichier trouvé
POUR TOUTE CHAÎNE UnFichier DE ResListeFichier SEPAREE PAR RC
        // Ajout du fichier dans la table TABLE_TableFic
        TableAjoute(TABLE_TableFic, UnFichier)
FIN

WinDev MobileWindows Mobile
UnFichier, ResListeFichier sont des chaînes
// Liste les fichiers de type ".BMP" présents dans "\MesDocuments".
// Le parcours se fait également dans les sous-répertoires et est interruptible.
ResListeFichier = fListeFichier("\MesDocuments\*.BMP", frRécursif + frInterruptible)
// Pour chaque fichier trouvé
POUR TOUTE CHAÎNE UnFichier DE ResListeFichier SEPAREE PAR RC
// Ajout du fichier dans la table TABLE_TableFic
TableAjoute(TABLE_TableFic, UnFichier)
FIN

WinDevWebDev - Code ServeurEtats et RequêtesJavaPHPAjaxCode Utilisateur (MCU)
// Liste les fichiers de type ".BMP" présents dans "C:\MesDocuments".
// La procédure AttributFichier retourne le nombre de fichiers en lecture seule.
ResListeFichier = fListeFichier("C:\MesDocuments\*.BMP", "AttributFichier")

WinDev MobileWindows Mobile
// Liste les fichiers de type ".BMP" présents dans "\MesDocuments".
// La procédure AttributFichier retourne le nombre de fichiers en lecture seule.
ResListeFichier = fListeFichier("\MesDocuments\*.BMP", "AttributFichier")

Syntaxe

Liste les fichiers d'un répertoire Masquer les détails

<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
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
Nouveauté 15
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.
WindowsLinux Ce paramètre peut être au format Ansi ou Unicode.

Windows Mobile Chemin et nom générique des fichiers à lister. Les caractères génériques (* et ?) sont autorisés.

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
Windows Phone Le chemin du fichier 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.
Rappel : Sous Windows Phone, seuls les fichiers présents dans le répertoire des données associé à l'application peuvent être manipulés.
Nouveauté 16
Windows Phone Le chemin du fichier 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.
Rappel : Sous Windows Phone, seuls les fichiers présents dans le répertoire des données associé à l'application peuvent être manipulés.
Windows Phone Le chemin du fichier 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.
Rappel : Sous Windows Phone, seuls les fichiers 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> : 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 :

PHP Ce paramètre est ignoré.

Versions 15 et supérieures
fCheminUNICODE
Nouveauté 15
fCheminUNICODE
fCheminUNICODE
<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
Windows Phone Cette constante est ignorée.
Nouveauté 16
Windows Phone Cette constante est ignorée.
Windows Phone Cette constante est ignorée.
frInformationComplète Chaque ligne (séparée par des Retours Chariots (RC)) contient les informations suivantes :

<Nom du fichier complet> + TAB + <Taille en octets> + TAB + <Date de dernière modification> + TAB + <Attributs du fichier>

La date est au format AAAAMMJJHHMMSS. Les attributs sont identiques à ceux renvoyés par la fonction fAttribut.

Versions 16 et supérieures
Windows Phone Cette constante est ignorée.
Nouveauté 16
Windows Phone Cette constante est ignorée.
Windows Phone Cette constante est ignorée.
frInterruptibleLe parcours peut être interrompu en utilisant la touche ECHAP. Le résultat renvoyé sera alors le nom des fichiers listés jusqu'à l'interruption.

WebDev - Code ServeurLinuxWindows MobileWindows PhoneWindows Store apps 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.
frSansFichierCaché Si la constante frInformationComplète est utilisée, les fichiers cachés ne sont pas listés (attribut = "H").

Versions 16 et supérieures
Windows Phone Cette constante est ignorée.
Nouveauté 16
Windows Phone Cette constante est ignorée.
Windows Phone Cette constante est ignorée.
frSansRépertoireCaché Si la constante frInformationComplète est utilisée, les répertoires cachés ne sont pas listés (attribut = "H").

Versions 16 et supérieures
Windows Phone Cette constante est ignorée.
Nouveauté 16
Windows Phone Cette constante est ignorée.
Windows Phone Cette constante est ignorée.
WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileAndroidWidget AndroidiPhone/iPadJavaPHPAjaxCode Utilisateur (MCU)

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

<Résultat> = fListeFichier(<Chemin et nom générique des fichiers> , <Nom de la procédure> [, <Pointeur> [, <Options>]])
<Résultat> : Entier
Nombre de fichiers listés.
<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.
Windows Mobile Chemin et nom générique des fichiers à lister. Les caractères génériques (* et ?) sont autorisés.

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 (également nommée "callback") appelée pour chaque fichier listé. Cette procédure permet de manipuler le fichier en cours.
Cette procédure est de la forme :
PROCEDURE <Nom de la procédure> (<Chemin>, <Nom du fichier>,
<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 fichier traité.

PHP Le nom de la procédure doit correspondre à une chaîne de caractères entre guillemets.
<Pointeur> : Entier optionnel
Pointeur passé à la procédure <Nom de la procédure>.

PHP Paramètre passé à la fonction. Ce paramètre n'est pas obligatoirement un entier (il peut correspondre à une chaîne, ...).
<Options> : Constante ou combinaison de constantes optionnelles de type Entier
Type de parcours effectué pour les fichiers du répertoire :

Versions 15 et supérieures
fCheminUNICODE
Nouveauté 15
fCheminUNICODE
fCheminUNICODE
<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.

WebDev - Code ServeurLinuxWindows 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.

PHP Ce paramètre n'est pas pris en compte. Le parcours est non interruptible et non récursif.

Remarques

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).Créez une procédure globale (depuis 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 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 1flPremierFichier
Rep\Fichier nflFichier
Rep\SousRep 1\Fichier 1flChangeRépertoire
Rep\SousRep 1\Fichier mflFichier
Rep\SousRep 2\Fichier 1flChangeRépertoire
Rep\SousRep 2\Fichier xflFichier
  • <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.

PHP Aucune erreur n'est générée si la procédure ne retourne aucune valeur.

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.

PHP Aucune erreur n'est générée si la procédure ne retourne aucune valeur.

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.
WinDev MobileWindows Mobile

Équivalence

Le fonctionnement de fListeFichier est équivalent au fonctionnement de ceListeFichier.

Seule différence :

  • la fonction fListeFichier manipule un répertoire présent sur le Pocket PC à partir d'une application WinDev Mobile.
  • la fonction ceListeFichier manipule un répertoire présent sur le Pocket PC à partir d'une application WinDev standard.
WinDevWebDev - Code ServeurWinDev MobileEtats et RequêtesWindows MobileAndroidWidget AndroidiPhone/iPadJavaAjaxCode Utilisateur (MCU)

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

Pour lister les sous-répertoires d'un répertoire, utilisez la fonction fListeRépertoire.

Astuce : Il est également possible de lister les répertoires d'un répertoire avec la fonction fListeFichier.

Exemple :

fListeFichier("c:\temp\anim\.", proc)
// Ne pas oublier le . à la fin de la chaîne pour identifier les répertoires

PROCEDURE proc(Rep, fichier, nChange, ptr)
Trace(Rep)

Liste des exemples associés :
Fonction fListeFichier Exemple unitaire (WinDev) : 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.

Composantes
WinDevWebDev - Code ServeurEtats et Requêtes wd190std.dll
Windows Mobile wp190std.dll
Java wd190java.jar
Linux wd190std.so
Android wd190android.jar
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire