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
  • Valeurs renvoyées par la procédure
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 fCopieFichier
Procédure WLangage (également nommée "callback") appelée par la fonction fCopieFichier pour chaque fichier copié. Cette procédure permet de connaître le chemin du fichier à copier et le chemin destination associé. Cette procédure peut être utilisée par exemple pour filtrer les fichiers à copier.
Cette procédure peut être une procédure locale, globale ou interne.
Exemple
// Copie les fichiers présents dans le répertoire "C:\MesImages"
ResCopie = fCopieFichier("C:\MesImages\*.*", "D:\MesFichiers\", fCopieFichier_Callback)
 
PROCÉDURE INTERNE fCopieFichier_Callback(ACopier, Destination)
// Pour chaque fichier du répertoire, la procédure est appelée.
// Le paramètre ACopier contient automatiquement le nom du fichier à copier
// Le paramètre Destination contient automatiquement le nom du fichier destination
// Dans cet exemple, les fichiers d'extension ".xlsx" ne sont pas copiés
SI fExtraitChemin(ACopier, fExtension) = ".xlsx" ALORS
RENVOYER fcIgnore
SINON
// Affiche le nom du fichier en cours de copie dans un libellé
LIB_Fichier_EnCours = ACopier
RENVOYER fcCopie
FIN
FIN
Syntaxe
<Résultat> = fCopieFichier_Callback(<Fichier à copier> , <Fichier destination> [, <Change> [, <Pointeur de la procédure>]])
<Résultat> : Constante de type Entier
Gestion de la copie de l'élément courant :
fcArrêtePermet d'arrêter définitivement la copie.
fcCopiePermet de continuer la copie.
fcIgnorePermet d'ignorer la copie d'un fichier.
<Fichier à copier> : Chaîne de caractères
Chemin et nom du fichier à copier.
<Fichier destination> : Chaîne de caractères
Chemin et nom du fichier destination.
<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 <Fichier à copier> (cela signifie qu'il y a eu changement de répertoire).
flFichierTous les autres cas.
flPremierFichierLe fichier est le premier listé dans le répertoire de <Fichier à copier>.
<Pointeur de la procédure> : Entier optionnel
Valeur passée dans le paramètre <Pointeur> de la fonction fCopieFichier. Si le paramètre <Pointeur> n'est pas précisé dans la fonction fCopieFichier, <Pointeur de la procédure> vaut 0.
Remarques

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

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

Valeurs renvoyées par la procédure

La procédure appelée par la fonction fCopieFichier doit renvoyer une des valeurs suivantes :
fcArrêtePermet d'arrêter définitivement la copie.
fcCopiePermet de continuer la copie.
fcIgnorePermet d'ignorer la copie d'un fichier.

Si la procédure ne renvoie pas une de ces valeurs, une erreur WLangage apparaît.
Cas 1. Interruption complète de la copie
Pour forcer l'interruption de la copie, la procédure appelée par la fonction fCopieFichier doit renvoyer la constante fcArrête.
Exemple : la procédure "CopieProduit" est appelée automatiquement par la fonction fCopieFichier :
PROCÉDURE CopieProduit(CheminFichierSource, CheminFichierDestination)
...
// Arrêt demandé ?
Multitâche(-1)
SI ToucheEnfoncée(teEchap) = Vrai ALORS
Info("La copie va être arrêtée")
RENVOYER fcArrête
FIN
...
RENVOYER fcCopie
Si la touche Echap est utilisée, la procédure appelée par la fonction fCopieFichier renvoie la constante fcArrête.
Dans les autres cas (pour poursuivre la copie), la procédure appelée par la fonction fCopieFichier renvoie la constante fcCopie.
Cas 2. Interruption partielle de la copie
Pour que la procédure appelée par la fonction fCopieFichier ne s'exécute pas pour un fichier donné, cette procédure doit renvoyer la constante fcIgnore.
Exemple : La procédure "RechercheProduit" est appelée automatiquement par la fonction fCopieFichier :
PROCÉDURE RechercheProduit(CheminFichierSource, CheminFichierDestination)
...
// Fichier à ne pas prendre en compte
SI ChaîneFinitPar(CheminFichierSource, "MauvaisFichier.XLS") ALORS
RENVOYER fcIgnore
FIN
...
RENVOYER fcCopie
Pour ne pas copier le fichier "MauvaisFichier.XLS", la procédure renvoie la constante fcIgnore. La procédure est automatiquement appelée pour le prochain fichier copié, sans avoir copié le fichier en cours.
Classification Métier / UI : Code neutre
Composante : wd290std.dll
Version minimum requise
  • Version 19
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 18/10/2022

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