DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des archives
  • Codes d'erreur
  • Fichier extrait
  • Extraction et mot de passe
  • Chemin mémorisé
  • Extraction à partir d'une archive multi-parties sur disquettes
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
Extrait et décompresse automatiquement une liste de fichiers présents dans une archive vers un emplacement physique.
Exemple
Etats et Requêtes
Archive est un zipArchive
// Ouverture d'une archive
ResOuvreArchive = Archive.Ouvre("C:\Archives\Archive.zip")
SI ResOuvreArchive = 0 ALORS
...
 // Extraction d'un fichier à son emplacement d'origine
 ResExtraitFichier = Archive.ExtraitListeFichier("\Temp\Fichier.doc" + ...
RC + "\Temp\Fichier2.doc", zipDisque)
...
FIN
Syntaxe
<Résultat> = <Archive>.ExtraitListeFichier(<Liste des chemins> [, <Destination> [, <Options> [, <Procédure WLangage> [, <Progression>]]]])
<Résultat> : Entier
  • 0 si les fichiers ont été extraits,
  • Un code d'erreur (valeur supérieure à 0) dans le cas contraire. Pour plus de détails sur ces codes d'erreur, consultez les Remarques.
<Archive> : Variable de type zipArchive
Nom d'une variable de type zipArchive correspondant à l'archive à manipuler.
<Liste des chemins> : Chaîne de caractères
Liste des chemins mémorisés des fichiers à extraire de l'archive. Les différents chemins sont séparés par des RC (Retours Chariots).
Effectue une recherche à l'identique sur chaque chemin des fichiers dans l'archive.
<Destination> : Chaîne de caractères ou constante optionnelle
Chemin de destination des fichiers extraits :
  • Chaîne de caractères optionnelle : Les fichiers sont extraits dans le chemin spécifié auquel s'ajoute l'arborescence mémorisée du fichier (le disque n'est pas conservé). Le chemin spécifié est créé s'il n'existe pas.
  • Constante optionnelle :
    zipAucunExtraction dans le répertoire en cours sans restauration de l'arborescence des fichiers (si elle a été mémorisée).
    zipDisqueExtraction :
    • à l'emplacement d'origine des fichiers s'il a été mémorisé et si le disque existe.
    • avec restauration de l'arborescence des fichiers sur le disque en cours si le disque ou si le répertoire mémorisé n'existe pas.
    • dans le répertoire en cours si seuls le nom et l'extension des fichiers ont été mémorisés.

    Archives au format 7z : Cette constante aura le même effet que la constante zipRépertoire.
    zipRépertoire
    (Valeur par défaut)
    Extraction dans le répertoire en cours avec restauration de l'arborescence des fichiers (si elle a été mémorisée).
<Options> : Constante optionnelle
Paramétrage de l'extraction (si le paramètre <Destination> correspond à une chaîne de caractères) :
zipEcraseLors de l'extraction, les fichiers existants en lecture seulement sont automatiquement écrasés par les fichiers extraits.
<Procédure WLangage> : Nom de procédure optionnel
Nom de la procédure WLangage qui sera appelée si une erreur est rencontrée lors de l'extraction des fichiers. Cette procédure est de la forme :
PROCEDURE NomDeLaProcédure (<Code erreur>, <Nom du fichier>)
où :
  • <Code erreur> est un entier correspondant au code de l'erreur rencontrée lors de l'extraction du fichier.
  • <Nom du fichier> est une chaîne de caractères contenant le chemin du fichier traité par la fonction <Variable zipArchive>.ExtraitListeFichier.
La procédure peut renvoyer une des constantes suivantes :
zipAnnuleAnnule l'extraction des fichiers présents dans l'archive.
zipIgnoreIgnore le fichier en erreur.
zipRecommenceRetente l'extraction du fichier.
<Progression> : Nom de champ ou nom de procédure
Mode de gestion de la jauge. Ce paramètre peut correspondre :
  • au nom d'une procédure WLangage. Cette procédure est de la forme :
    <Nom de la procédure> (<Fichier en cours>, <Pourcentage d'avancement global>,
    <Pourcentage d'avancement du fichier>)

    où :
    • <Fichier en cours> correspond au nom du fichier en cours de traitement.
    • <Pourcentage d'avancement global> correspond au pourcentage d'avancement de l'extraction des fichiers de l'archive.
    • <Pourcentage d'avancement du fichier> correspond au pourcentage d'avancement de l'extraction du fichier en cours de l'archive.
Si vous manipulez une archive :
  • au format TAR ou TGZ (TAR.GZ), la jauge est mise à jour uniquement à la fin de l'extraction de chaque fichier.
  • au format CAB et RAR, la jauge est mise à jour uniquement à la fin de l'extraction de chaque fichier.
  • au format 7z, seul le paramètre <Pourcentage d'avancement global> est renseigné. Le paramètre <Pourcentage d'avancement du fichier> aura la même valeur.
Remarques

Codes d'erreur

Les codes d'erreur retournés sont les suivants :
  • 1 : Le chemin passé en paramètre n'existe pas.
  • 2 : Accès interdit : l'utilisateur n'a pas les droits nécessaires.
  • 3 : L'archive est corrompue.
  • 4 : Le chemin n'existe pas dans l'archive.
  • 6 : Les fichiers des sous-archives ne sont pas dans l'ordre (cas d'une extraction dans une archive multi-parties).
  • 21 : Le mot de passe spécifié n'est pas correct.
Le message correspondant au code d'erreur peut être connu grâce à la fonction zipMsgErreur.
Remarques :

    Fichier extrait

    Les fichiers extraits ne sont pas effacés de l'archive. Pour effacer un ou tous les fichiers de l'archive, utilisez la fonction <Variable zipArchive>.SupprimeFichier ou <Variable zipArchive>.SupprimeTout.
    Etats et Requêtes

    Extraction et mot de passe

    Si le fichier n'est pas crypté et si la fonction zipMotDePasse a été utilisée :
    • Archive au format WDZ : Le fichier est tout de même extrait.
    • Archive au format ZIP : Une erreur apparaît.

    Chemin mémorisé

    Le tableau ci-dessous présente les chemins mémorisés dans l'archive en fonction :
    • du chemin d'accès du fichier,
    • de la portion mémorisée du chemin.
    Le répertoire en cours est : "C:\Temp".
    Fonction zipAjouteFichierLocalisation du fichierzipAucunzipRépertoirezipDisque
    zipAjouteFichier("Archi",
    "Fichier.txt")
    C:\Temp\Fichier.txtFichier.txtFichier.txtFichier.txt
    zipAjouteFichier("Archi",
    "Donnée\Fichier.txt")
    C:\Temp\Donnée\Fichier.txtFichier.txtDonnée\Fichier.txtDonnée\Fichier.txt
    zipAjouteFichier("Archi",
    "D:\Donnée\Fichier.txt")
    D:\Donnée\Fichier.txtFichier.txtDonnée\Fichier.txtD:\Donnée\Fichier.txt


    Remarque : Si la constante zipDisque est utilisée :
    • le format WDZ mémorise le chemin complet du fichier (lettre du lecteur comprise).
    • le format ZIP ne mémorise pas la lettre du lecteur.
    • le format 7z mémorise uniquement les répertoires.
    Etats et Requêtes

    Extraction à partir d'une archive multi-parties sur disquettes

    Si les fichiers à extraire sont présents sur différentes disquettes, la disquette correspondante est automatiquement demandée.
    Composante : wd290zip.dll
    Version minimum requise
    • Version 24
    Documentation également disponible pour…
    Commentaires
    Cliquez sur [Ajouter] pour publier un commentaire

    Dernière modification : 19/06/2023

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