DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des archives
  • Condition 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 une liste de fichiers (de n'importe quel type) dans une archive au format ZIP, CAB, WDZ, 7z, TAR ou TGZ (TAR.GZ). Cette fonction est plus rapide que la fonction zipAjouteFichier exécutée pour chaque fichier.
Exemple
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)Ajax
// Création d'une archive et ajout d'un élément
// Avec jauge affichée dans un champ Jauge
MonArchive est un zipArchive
NumErrZip est un entier
 
NumErrZip = zipCrée(MonArchive, "C:\Doc\Archive\ficArchive.zip")
SI NumErrZip = 0 ALORS
NumErrZip = zipAjouteListeFichier(MonArchive, "C:\doc\Image\Maison.BMP" + RC + ...
"C:\Mes Projets\WDStock\WDStock.wdp", zipDisque, JAUGE_Progression)
SI NumErrZip <> 0 ALORS
Erreur(zipMsgErreur(NumErrZip))
FIN
zipFerme(MonArchive)
SINON
Erreur(zipMsgErreur(NumErrZip))
FIN
Syntaxe

Ajouter une liste de fichiers (fichiers séparés par RC) Masquer les détails

<Résultat> = zipAjouteListeFichier(<Archive> , <Chemin des fichiers à ajouter> [, <Portion du chemin à mémoriser> [, <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 les fichiers doivent être ajoutés.
Ce nom peut correspondre :
<Chemin des fichiers à ajouter> : Chaîne de caractères
Nom et chemin des fichiers à ajouer dans l'archive, séparés par des RC. Ces chemins peuvent être complets ou relatifs au répertoire en cours. La taille de chaque chemin ne doit pas dépasser 260 caractères maximum.
La taille de chaque fichier doit être inférieure à 4 Go. Dans le cas contraire, une erreur est générée.
Il n'est pas possible d'utiliser des caractères jokers.
WINDEVEtats et RequêtesCode Utilisateur (MCU) Ce paramètre est de la forme :
<Chemin du fichier> [ + TAB + <Chemin à mémoriser> ] + RC
Si un chemin à mémoriser est précisé, l'ajout sera équivalent à un ajout du fichier suivi d'un appel à la fonction zipChangeChemin.
Universal Windows 10 App Le chemin d'accès au fichier 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.
<Portion du chemin à mémoriser> : Constante optionnelle
Indique la portion de chemin des fichiers présents dans la liste à mémoriser dans l'archive. Ce paramètre est pris en compte uniquement pour les fichiers pour lesquels le <Chemin à mémoriser> n'a pas été précisé.
zipAucunMémorise uniquement le nom et l'extension du fichier. Par exemple : NomFichier.pdf
zipDisque
(Valeur par défaut)
Mé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 ZIP : Cette constante n'a pas d'effet.
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 aura le même effet que la constante zipRépertoire.
zipRépertoireMémorise les différents répertoires composant le chemin, le nom et l'extension du fichier. Par exemple : \Répertoire\Fichiers\NomFichier.pdf

Si vous manipulez une archive au format .CAB, seule la constante zipAucun 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.
<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.

Ajouter une liste de fichiers contenus dans un tableau Masquer les détails

<Résultat> = zipAjouteListeFichier(<Archive> , <Liste des fichiers> [, <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 les fichiers doivent être ajoutés.
Ce nom peut correspondre :
<Liste des fichiers> : Tableau de variables de type zipFichierArchivé
Tableau de variables de type zipFichierArchivé permettant de connaître les caractéristiques des fichiers à ajouter.
<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.
Remarques

Condition 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 :
  • Le chemin complet de chaque fichier est conservé dans les archives au format ZIP ou WDZ.
  • 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 zipAjouteListeFichier.
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.
Rappel :
  • LinuxUniversal Windows 10 AppiPhone/iPadWidget IOSMac Catalyst Seules les archives au format ZIP, TAR et TGZ (TAR.GZ) sont disponibles.
  • Java Seules les archives au format ZIP sont disponibles.
  • AndroidWidget Android Le format CAB n'est pas disponible.

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 ou le fichier est en cours d'utilisation. Si le fichier à insérer est un fichier de données HFSQL, il doit être fermé avec le code suivant :
    HFerme(<Nom Fichier>)
    Multitâche(<Attente>) // Attend la fermeture effective du fichier
  • 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