DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des fichiers externes / Procédures WLangage
  • Exemple de valeurs pouvant être prises par le paramètre
  • Interruption complète de la fonction fListeFichier
  • Interruption partielle de la fonction fListeFichier
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
Procédure WLangage appelée par la fonction fListeFichier
Procédure WLangage (également appelée "Callback") appelée par la fonction fListeFichier pour chaque fichier trouvé. Cette procédure peut être une procédure locale, globale ou interne.
Exemple
// Connaître le nombre de fichiers de type "*.DOC" en lecture seule
// dans un répertoire.
 
// Déclaration et initialisation des variables
 
// Nombre de fichiers répondant aux critères
NbFichierLS est un entier
// Nombre de fichiers de type "*.DOC"
NbFichierDoc est un entier
NbFichierDoc = 0
CritèreRecherche est une chaîne
 
// Sélection du répertoire dans lequel les fichiers vont être listés
CritèreRecherche = "C:\MesDocuments\"
 
// Ajout du critère "\*.doc" à la fin du nom du répertoire sélectionné
CritèreRecherche = CritèreRecherche + "\*.doc"
 
// Liste des fichiers de type "*.DOC"
NbFichierDoc = fListeFichier(CritèreRecherche, "AttributFichier", &NbFichierLS)
 
// Affichage du nombre de fichiers répondant aux critères
Info("Il y a" + NbFichierLS + "fichiers en lecture seule sur" + ...
NbFichierDoc + "fichiers listés")
 
// ---------------------------------------------------
 
// Procédure locale appelée par fListeFichier
PROCÉDURE AttributFichier(Repertoire, Nom, Change, NbFichierDoc)
// Déclaration de la variable
NbFichierLS est un entier
// Fichiers en lecture seule ?
SI Position(fAttribut(Repertoire + Nom), "R") <> 0 ALORS
Transfert(&NbFichierLS, NbFichierDoc, 4)
NbFichierLS++
Transfert(NbFichierDoc, &NbFichierLS, 4)
// Affichage du nom du fichier dans la liste "LISTE_ListeFichier"
ListeAjoute(LISTE_ListeFichier, Repertoire + Nom)
FIN
RENVOYER Vrai
Syntaxe
<Résultat> = fListeFichier_Callback(<Chemin> , <Nom du fichier> [, <Change> [, <Pointeur de la procédure>]])
<Résultat> : Booléen
  • Vrai pour continuer le parcours des fichiers,
  • Faux pour forcer l'interruption du parcours des fichiers.
<Chemin> : Chaîne de caractères
Chemin du fichier manipulé (il contient toujours un "\" à la fin; par exemple, "C:\WINDEV\").
<Nom du fichier> : Chaîne de caractères
Nom du fichier trouvé.
<Change> : Constante optionnelle de type Entier
Permet de savoir si un changement de répertoire a été effectué. Les valeurs possibles sont les suivantes :
flChangeRépertoireLe fichier est le premier listé dans un sous-répertoire de <Chemin> (cela signifie qu'il y a eu changement de répertoire).
flFichierTous les autres cas.
flPremierFichierLe fichier est le premier listé dans le <Chemin>.
<Pointeur de la procédure> : Entier optionnel
Valeur passée dans le paramètre <Pointeur> de la fonction fListeFichier. Si le paramètre <Pointeur> n'est pas précisé dans la fonction fListeFichier, <Pointeur de la procédure> vaut 0.
Remarques

Exemple de valeurs pouvant être prises par le paramètre <Change>

Lors du parcours des fichiers listés par la fonction fListeFichier, 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

Interruption complète de la fonction fListeFichier

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 :
RENVOYER Faux
Par exemple, la procédure "RechProduit" est appelée automatiquement par la fonction fListeFichier :
PROCÉDURE 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 DOIT renvoyer Vrai.
Si la procédure ne retourne aucune valeur (ni Vrai, ni Faux), une erreur est générée.

Interruption partielle de la fonction fListeFichier

Pour que 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 :
PROCÉDURE 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 pour le prochain fichier trouvé.
Si la procédure ne retourne aucune valeur (ni Vrai, ni Faux), une erreur est générée.
Classification Métier / UI : Code neutre
Composante : wd290std.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 11/07/2022

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