|
|
|
|
- Exemple de valeurs pouvant être prises par le paramètre
- Interruption complète de la fonction fListeFichier
- Interruption partielle de la fonction fListeFichier
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. // 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épertoire | 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 | Tous les autres cas. | flPremierFichier | Le 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 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 |
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 : 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 : 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
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|