DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des archives
  • Exemple 1 : Extraction d'un fichier de l'archive selon son indice
  • Exemple 2 : Extraction d'un fichier selon son chemin avec affichage d'une jauge
zipExtraitFichier (Exemple)
Exemple 1 : Extraction d'un fichier de l'archive selon son indice
Etats et Requêtes 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 un champ Table par programmation (TABLE_TableArchive).
Attention : Pour que l'indice du champ Table par programmation corresponde à l'indice du fichier sélectionné, le champ Table par programmation ne doit pas être trié.
// 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(TABLE_TableArchive)
    // Extraction et décompression du fichier sélectionné
    // Copie du fichier extrait
    CodeErreurExtrait = zipExtraitFichier(NomArchive, IndiceFichier, "C:\Temp\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
Exemple 2 : Extraction d'un fichier selon son chemin avec affichage d'une jauge
Etats et Requêtes 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 à 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.
// --Déclarations globales de la fenêtre
GLOBAL
NomArchive est une chaîne = "MonArchive"
// --Clic sur BTN_ExtraitFichier
// Code d'initialisation
NomRépertoire est une chaîne
CodeErreurCréation est un entier
CodeErreurAjout est un entier
CodeErreurExtrait 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
    // Extraction et décompression d'un fichier dans le répertoire courant
    CodeErreurExtrait = zipExtraitFichier(NomArchive, ...
   "Fichier.txt", zipRépertoire, Aff_Jauge_Compression)
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 interne utilisée pour gérer la jauge.
PROCÉDURE INTERNE Aff_Jauge_Compression(FichierEncours est une chaîne, Pourcentage est un entier)
SI Pourcentage < 100 ALORS
Jauge(Pourcentage, 100, FichierEncours)
// Rafraîchissement de la fenêtre
Multitâche(-1)
SINON
// La compression est finie
Jauge()
FIN
FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

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