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 fRepCopie
Procédure WLangage (également nommée "callback") appelée par la fonction fRepCopie pour chaque fichier copié. Cette procédure permet de manipuler le fichier en cours.
Exemple
// Copie d'un répertoire
Res = fRepCopie("C:\Répertoire\MesFichiers", "D:\Documents\CopieFichier", FiltreFichier)
PROCÉDURE FiltreFichier(sCheminSource, sCheminDestination, flChange, nParamètrePerso)
 
// On ne copie pas les fichiers temporaires
SI fExtraitChemin(sCheminSource, fExtension) ~= ".tmp"
RENVOYER fcIgnore
SINON
RENVOYER fcCopie
FIN
Syntaxe
<Résultat> = fRepCopie_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 fRepCopie. Si le paramètre <Pointeur> n'est pas précisé dans la fonction fRepCopie, <Pointeur de la procédure> 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.
Remarques

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

Lors du parcours des fichiers copiés par la fonction fRepCopie, 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 fRepCopie 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 fRepCopie doit renvoyer la constante fcArrête.
Exemple : la procédure "CopieProduit" est appelée automatiquement par la fonction fRepCopie :
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 fRepCopie renvoie la constante fcArrête.
Dans les autres cas (pour poursuivre la copie), la procédure appelée par la fonction fRepCopie 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 fRepCopie :
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.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 07/03/2023

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