DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des archives
  • Conditions d'utilisation
  • Niveau de compression
  • Codes d'erreur
  • Ajout d'un fichier déjà présent dans l'archive
  • Indice des fichiers dans l'archive
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
Ajoute et compresse automatiquement la totalité des fichiers d'un répertoire et de ses sous-répertoires dans une archive. Cette fonction est utilisable sur les archives de type CAB, ZIP, WDZ, 7z, TAR et TGZ (TAR.GZ).
WINDEVWEBDEV - Code ServeurCode Utilisateur (MCU)Ajax
MonArchive est un zipArchive
// Création de l'archive
ResCréation = zipCrée(MonArchive, "C:\Temp\Archive.zip")
SI ResCréation = 0 ALORS
// Ajoute la totalité des fichiers d'un répertoire
ResAjoutRép = zipAjouteRépertoire(MonArchive, ...
"C:\MonRépertoire\MesFichiers", Vrai, zipDisque)
FIN
// Affichage du message d'erreur si l'ajout n'a pas été effectué
SI ResAjoutRép <> 0 ALORS Erreur(zipMsgErreur(ResAjoutRép))
Syntaxe

Ajouter les fichiers d'un répertoire en précisant le chemin à mémoriser Masquer les détails

<Résultat> = zipAjouteRépertoire(<Archive> , <Chemin du répertoire> [, <Sous-répertoire> [, <Option de mémorisation> [, <Procédure WLangage> [, <Progression>]]]])
<Résultat> : Entier
  • 0 si l'ajout a été effectué,
  • 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> : Chaîne de caractères ou variable de type zipArchive
Nom de l'archive dans laquelle le contenu du répertoire doit être ajouté.
Ce nom peut correspondre :
<Chemin du répertoire> : Chaîne de caractères
Chemin du répertoire à ajouter dans l'archive (260 caractères maximum). Ce chemin peut être un chemin complet ou relatif au répertoire en cours. Si ce paramètre correspond à une chaîne vide (""), la fonction renvoie une erreur.
La taille des fichiers présents dans ce répertoire doit être inférieure à 4 Go. Dans le cas contraire, une erreur est générée.
Universal Windows 10 App Le chemin d'accès au répertoire est un chemin complet ou relatif au répertoire de travail de l'application (connu avec la fonction fRepDonnées). Seuls les fichiers présents dans le répertoire de travail peuvent être ajoutés à l'archive.
<Sous-répertoire> : Booléen optionnel
  • Vrai (valeur par défaut) si les sous-répertoires doivent être ajoutés,
  • Faux si les sous-répertoires ne doivent pas être ajoutés.
<Option de mémorisation> : Constante optionnelle
Portion de chemin à mémoriser pour chaque fichier de l'archive :
zipDisqueMémorise le chemin complet et absolu du fichier (nom du disque, des répertoires, du fichier et l'extension du fichier). Par exemple : C:\Répertoire\Fichiers\NomFichier.pdf
Pour le format WDZ : Le chemin complet du fichier (lettre du lecteur comprise) est mémorisé.
Pour le format ZIP : La lettre du lecteur n'est pas mémorisée.
Pour le format 7z : Cette constante a le même effet que la constante zipRépertoire.
LinuxiPhone/iPadWidget IOSMac Catalyst Cette constante n'est pas disponible car il n'y a pas de racine de lecteur.

AndroidWidget AndroidJava Cette constante a le même effet que la constante zipRépertoire.
zipRelatifLe chemin passé en paramètre est considéré comme la racine de l'archivage. Le chemin mémorisé pour tous les fichiers et les sous-répertoires est relatif à cette racine.
Ainsi, si le répertoire ajouté est : "C:\Temp\Doc" contenant les éléments suivants :
  • le fichier Test1.doc,
  • le fichier Test2.doc dans le sous-répertoire SYS,
les informations mémorisées seront relatives au répertoire "C:\Temp\Doc" et seront les suivantes :
  • Test1.doc,
  • SYS\Test2.Doc.
zipRépertoire
(Valeur par défaut)
Mémorise les différents répertoires composant le chemin, le nom et l'extension du fichier. Par exemple : \Répertoire\Fichiers\NomFichier.pdf

Archive au format .CAB : Aucune de ces constantes n'est prise en compte. En effet, le format .CAB ne permet pas de stocker des chemins à l'intérieur de l'archive.
Universal Windows 10 App Ce paramètre n'est pas disponible : seuls le nom du fichier et son extension sont mémorisés.
<Procédure WLangage> : Nom de procédure optionnel
Nom de la procédure WLangage qui sera appelée avant l'ajout de chaque fichier. Cette procédure permet d'archiver une arborescence en omettant un ou plusieurs fichiers.
Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction zipAjouteRépertoire pour gérer l'ajout des fichiers.
WEBDEV - Code Serveur Cette procédure doit être une procédure serveur.
<Progression> : Nom de champ ou nom de procédure
Mode de gestion de la jauge. Ce paramètre peut correspondre :
Si vous manipulez une archive au format TAR ou TGZ (TAR.GZ), la jauge est mise à jour uniquement à la fin de l'ajout de chaque fichier.
WEBDEV - Code Serveur La procédure doit être une procédure serveur.
Java Ce paramètre n'est pas disponible.
Universal Windows 10 App Non disponible en mode Universal Windows 10 App

Ajouter les fichiers d'un répertoire en précisant le chemin à ignorer Masquer les détails

<Résultat> = zipAjouteRépertoire(<Archive> , <Chemin du répertoire> [, <Sous-répertoire> [, <Portion du chemin à ignorer> [, <Procédure WLangage> [, <Progression>]]]])
<Résultat> : Entier
  • 0 si l'ajout a été effectué,
  • 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> : Chaîne de caractères ou variable de type zipArchive
Nom de l'archive dans laquelle le contenu du répertoire doit être ajouté.
Ce nom peut correspondre :
<Chemin du répertoire> : Chaîne de caractères
Chemin du répertoire à ajouter dans l'archive (260 caractères maximum). Ce chemin peut être un chemin complet ou relatif au répertoire en cours.
Si ce paramètre correspond à une chaîne vide (""), la fonction renvoie une erreur.
La taille des fichiers présents dans ce répertoire doit être inférieure à 4 Go. Dans le cas contraire, une erreur est générée
<Sous-répertoire> : Booléen optionnel
  • Vrai (valeur par défaut) si les sous-répertoires doivent être ajoutés,
  • Faux si les sous-répertoires ne doivent pas être ajoutés.
<Portion du chemin à ignorer> : Chaîne de caractères optionnelle
Indique la portion de chemin du fichier à ne pas conserver dans l'archive. Par exemple, si le chemin complet du répertoire ajouté dans l'archive est : "C:\Mes Documents\Travail\" et si le paramètre <Portion du chemin à ignorer> vaut "C:\Mes Documents\", seule la portion "Travail\" sera mémorisée.
<Procédure WLangage> : Nom de procédure optionnel
Nom de la procédure WLangage qui sera appelée avant l'ajout de chaque fichier. Cette procédure permet d'archiver une arborescence en omettant un ou plusieurs fichiers. Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction zipAjouteRépertoire pour gérer l'ajout des fichiers.
WEBDEV - Code Serveur Cette procédure doit être une procédure serveur.
Java 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 :
Si vous manipulez une archive au format TAR ou TGZ (TAR.GZ), la jauge est mise à jour avant et à la fin de l'ajout de chaque fichier.
WEBDEV - Code Serveur La procédure doit être une procédure serveur.
Java Ce paramètre n'est pas disponible.
Remarques

Conditions d'utilisation

L'ajout de fichiers dans une archive ne peut être réalisé que si :
  • L'archive existe (la création d'une archive s'effectue avec la fonction zipCrée).
  • L'archive est accessible en lecture et en écriture.
  • L'archive est mono-partie.
  • La taille du fichier est inférieure à 4 Go.
Attention :
  • Archives au format CAB : L'ajout de fichiers doit se faire immédiatement après la création de l'archive. Ce format ne permet pas d'ajouter des fichiers dans une archive existante.
  • Archives au format RAR : Cette fonction n'est pas disponible.
  • Archives au format 7z : L'archive est entièrement compressée à chaque appel de la fonction zipAjouteRépertoire.
Le nombre maximum de fichiers pouvant être intégrés :
  • dans un fichier WDZ : 232-1.
  • dans un fichier ZIP : 65535.
  • dans un fichier CAB : 65535.
Remarque : Si la constante zipEntête64 est utilisée lors de la création de l'archive (fonction ZipCrée), il sera possible de créer des archives de plus de 4 gigas. Rappel :
  • LinuxUniversal Windows 10 AppiPhone/iPadWidget IOSMac Catalyst Seules les archives au format ZIP, TAR et TGZ (TAR.GZ) sont disponibles.
  • AndroidWidget AndroidJava Seules les archives au format ZIP sont disponibles.

Niveau de compression

Par défaut, les fichiers ajoutés dans une archive au format Zip sont compressés. Il est possible de modifier le niveau de compression des fichiers ajoutés dans une archive grâce à la fonction zipNiveauCompression.

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.
  • 5 : Impossible d'écrire dans l'archive.
  • 7 : Le fichier est déjà présent dans l'archive.
  • 8 : Une archive ne peut pas être ajoutée à elle-même. Par exemple, l'archive "MonArchive" ne peut pas être ajoutée à l'archive "MonArchive".
Le message correspondant au code d'erreur peut être connu grâce à la fonction zipMsgErreur.

Ajout d'un fichier déjà présent dans l'archive

L'ajout d'un fichier déjà présent dans une archive provoque une erreur. Un fichier est identifié selon son chemin mémorisé. Il est donc impossible d'ajouter à l'archive deux fichiers de même nom ayant le même chemin relatif.

Indice des fichiers dans l'archive

Lors de l'ajout d'un fichier dans une archive, un indice est automatiquement attribué au fichier. Cet indice correspond à l'ordre d'intégration des fichiers dans l'archive. Pour sélectionner un fichier de l'archive, il est possible d'utiliser :
  • Soit l'indice de l'élément. (Remarque : l'indice d'un élément peut être connu grâce à la fonction zipChercheFichier)
  • Soit le chemin mémorisé de l'élément.
Classification Métier / UI : Code métier
Composante : wd290zip.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 05/05/2023

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