DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des archives
  • Codes d'erreur
  • Fichier extrait
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 la totalité des fichiers d'une archive à un emplacement physique.
L'archive manipulée peut être au format CAB, RAR, ZIP, WDZ, 7z, gzip, TAR ou TGZ (TAR.GZ).
Nouveauté SaaS
WINDEVWEBDEV - Code ServeurWindowsLinuxUniversal Windows 10 AppiPhone/iPad Le format gzip (extension .gz) est désormais géré.
Exemple
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)Ajax
Archive est une zipArchive

// Ouverture d'une archive
ResOuvreArchive = Archive.Ouvre("C:\Archives\Archive.zip")

SI ResOuvreArchive = 0 ALORS
	...
	// Extraction de tous les fichiers de l'archive
	ResExtraitTout = Archive.ExtraitTout(zipDisque)
	...
FIN
Syntaxe
<Résultat> = <Archive>.Extraittout([<Destination des fichiers> [, <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.
<Destination des fichiers> : 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 de chaque fichier (le disque n'est pas conservé). Le chemin spécifié est créé s'il n'existe pas.
    Universal Windows 10 App Le chemin destination du fichier extrait doit correspondre au répertoire de travail de l'application (connu avec la fonction fRepDonnées) ou à un de ses sous-répertoires.
  • Constante optionnelle :
    zipDisqueExtraction :
    • à l'emplacement d'origine du fichier s'il a été mémorisé et si le disque existe.
    • avec restauration de l'arborescence du fichier 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 du fichier ont été mémorisés.
    Remarque : Si la constante zipDisque est utilisée, le format WDZ mémorise le chemin complet du fichier (lettre du lecteur comprise) alors que le format ZIP ne mémorise par la lettre du lecteur.

    LinuxiPhone/iPadWidget IOSMac Catalyst Cette constante n'est pas disponible. Les répertoires n'ont pas de racine.

    AndroidWidget Android Cette constante a le même effet que la constante zipRépertoire.

    Archives au format 7z : Cette constante aura le même effet que la constante zipRépertoire.
    zipEcraseLors de l'extraction, les fichiers existants en lecture seulement sont automatiquement écrasés par les fichiers extraits. Cette constante peut être combinée avec les constantes zipDisque et zipRépertoire.
    AndroidWidget Android Cette constante n'est pas disponible.
    zipRépertoireExtraction dans le répertoire en cours avec restauration de l'arborescence du fichier (si elle a été mémorisée).

Universal Windows 10 App Il n'est pas possible d'utiliser ces constantes.
<Options> : Constante optionnelle
Paramétrage de l'extraction (si le paramètre <Destination des fichiers> 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.
AndroidWidget Android Cette constante n'est pas disponible.
<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.
ATTENTION : Ce paramètre peut être utilisé uniquement si le paramètre <Archive> correspond à une variable de type zipArchive.
Cette procédure est de la forme :
PROCEDURE <Nom de la procé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>.ExtraitTout.
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.

WEBDEV - Code Serveur Cette procédure doit être une procédure serveur.
AndroidWidget Android Ce paramètre est interdit.
<Progression> : Nom de champ ou nom de procédure
Mode de gestion de la jauge. Ce paramètre peut correspondre :
  • WINDEVUniversal Windows 10 AppiPhone/iPadMac Catalyst au nom d'un champ Jauge présent dans une fenêtre. Cette jauge affichera la progression de l'extraction de la totalité des fichiers manipulés.
  • au nom d'une procédure WLangage. Cette procédure est de la forme :
    PROCEDURE <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 gzip, 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.
WEBDEV - Code Serveur La procédure doit être une procédure serveur.
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).
Le message correspondant au code d'erreur peut être connu grâce à la fonction zipMsgErreur.
Rappel :
  • LinuxUniversal Windows 10 AppiPhone/iPadWidget IOSMac Catalyst Seules les archives au format ZIP, TAR, gzip et TGZ (TAR.GZ) sont disponibles.
  • AndroidWidget Android Seules les archives au format ZIP sont disponibles.
  • Le format RAR est géré jusqu'à la version 5 incluse.

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.
Composante : wd300zip.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