pictogram Auteur: Patrick Biker
Date: 18 mars 2006
Maj : 21 Mars 2015

Exemples évolués

Chaque exemple montre une utilisation pratique de la fonction du WLangage.

Quand plusieurs syntaxes sont possibles, chacune est illustrée indépendamment.

Revenir à la page des exemples évolués


Le code suivant permet d'extraire et de décompresser un fichier d'une archive. Le chemin mémorisé des fichiers comprend : le nom des répertoires, le nom et l'extension du fichier (constante zipRépertoire ). Le fichier extrait est copié sur une disquette ("A:\Archive"). Le fichier à extraire est sélectionné dans une table mémoire (TableArchive).

Attention : Pour que l'indice de la table mémoire corresponde à l'indice du fichier sélectionné, la table mémoire ne doit pas être triée.



// Déclaration et initialisation des variables
NomRépertoire est une chaîne
NomArchive est une chaîne = "MonArchive"
CodeErreurCréation est un entier
CodeErreurAjout est un entier
CodeErreurExtrait est un entier
IndiceFichier est un entier

// Création d'une archive
CodeErreurCréation = zipCrée ( NomArchive , "C:\Répertoire\Archives\ArchivePdf.wdz" )

SI
CodeErreurCréation = 0 ALORS
    // Sélection du répertoire
    NomRépertoire = fRepSélecteur ( "" , "" , "Répertoire à ajouter" )
    // Ajoute la totalité des fichiers du répertoire sélectionné
    // et de ses sous-répertoires dans l'archive
    CodeErreurAjout = zipAjouteRépertoire ( NomArchive , NomRépertoire , Vrai , zipRépertoire )
    SI CodeErreurAjout = 0 ALORS
       // Sélection du fichier de l'archive
       IndiceFichier = TableSelect ( TableArchive )
       // Extraction et décompression du fichier sélectionné
       // Copie du fichier extrait sur disquette
       CodeErreurExtrait = zipExtraitFichier ( NomArchive , ...
                             IndiceFichier , "A:\Archive" )
       SI CodeErreurExtrait <> 0 ALORS
          
Erreur ( zipMsgErreur ( CodeErreurExtrait ))
       FIN
    SINON
       // Affichage du message d'erreur si les fichiers n'ont pas été ajoutés
       Erreur ( zipMsgErreur ( CodeErreurAjout ))
    FIN
SINON
    // Affichage du message d'erreur si l'archive n'a pas été créée
    Erreur ( zipMsgErreur ( CodeErreurCréation ))
FIN


L e code suivant permet d'extraire et de décompresser un fichier d'une archive. Le chemin mémorisé des fichiers comprend : le nom des répertoires, le nom et l'extension du fichier (constante zipRépertoire ). Le fichier à extraire est sélectionné suivant son chemin mémorisé. Le fichier est extrait dans le répertoire en cours (constante zipRépertoire ). Une jauge permet d'indiquer le pourcentage de décompression. Cette jauge sera affichée dans la barre de message.



--Code de déclaration des globales de la fenêtre
GLOBAL
NomArchive est une chaîne = "MonArchive"

--Code de clic sur BoutonExtraitFichier
// Code d'initialisation
NomRépertoire est une chaîne
CodeErreurCréation est un entier
CodeErreurAjout est un entier
CodeErreurExtrait est un entier
NumEvénement est un entier

// Création d'une archive
CodeErreurCréation = zipCrée ( NomArchive , "C:\Répertoire\Archives\ArchivePdf.wdz" )

SI
CodeErreurCréation = 0 ALORS
    // Sélection du répertoire
    NomRépertoire = fRepSélecteur ( "" , "" , "Répertoire à ajouter" )
    // Ajoute la totalité des fichiers du répertoire sélectionné
    // et de ses sous-répertoires dans l'archive
    CodeErreurAjout = zipAjouteRépertoire ( NomArchive , NomRépertoire , Vrai , zipRépertoire )
    SI CodeErreurAjout = 0 ALORS
       // Appel de l'événement
       NumEvénement = Evénement ( "JaugeCompression" , FenEnExecution (), JaugeCompactage )
       // Extraction et décompression d'un fichier dans le répertoire courant
       CodeErreurExtrait = zipExtraitFichier ( NomArchive , ...
                           " Fichier.txt " , zipRépertoire )
       SI CodeErreurExtrait <> 0 ALORS
          Erreur ( zipMsgErreur ( CodeErreurExtrait ))
       FIN
       FinEvénement ( NumEvénement )
    SINON
       // Affichage du message d'erreur si les fichiers n'ont pas été ajoutés
       Erreur ( zipMsgErreur ( CodeErreurAjout ))
    FIN
SINON
   // Affichage du message d'erreur si l'archive n'a pas été créée
   Erreur ( zipMsgErreur ( CodeErreurCréation ))
FIN

// Procédure locale à la fenêtre. Cette procédure permet de gérer la jauge.
PROCÉDURE JaugeCompression ( wMesssage , wParam , lParam )
SI wParam < 100 ALORS
   Jauge ( wParam , 100 , zipFichierEnCours ( NomArchive ))
   // Rafraîchissement de la fenêtre
   Multitache (- 1 )
SINON
   // La compression est finie
   Jauge ()
FIN