PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

PV

  • 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 <Variable zipArchive>.AjouteFichier exécutée pour chaque fichier.
Exemple
WINDEVCode Utilisateur (MCU)
// 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 = MonArchive.Crée("C:\Doc\Archive\ficArchive.zip")
SI NumErrZip = 0 ALORS
NumErrZip = MonArchive.AjouteListeFichier("C:\doc\Image\Maison.BMP" + RC + ...
"C:\Mes Projets\WDStock\WDStock.wdp", zipDisque, JAUGE_Progression)
SI NumErrZip <> 0 ALORS
Erreur(zipMsgErreur(NumErrZip))
FIN
MonArchive.Ferme()
SINON
Erreur(zipMsgErreur(NumErrZip))
FIN
Syntaxe

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

<Résultat> = <Archive>.AjouteListeFichier(<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> : Variable de type zipArchive
Nom d'une variable de type zipArchive correspondant à l'archive dans laquelle les fichiers doivent être ajoutés.
<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.
WINDEVCode 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.
<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.
Linux Cette constante n'est pas disponible car il n'y a pas de racine de lecteur.
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.
<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.

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

<Résultat> = <Archive>.AjouteListeFichier(<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> : Variable de type zipArchive
Nom d'une variable de type zipArchive correspondant à l'archive dans laquelle les fichiers doivent être ajoutés.
<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.
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 <Variable zipArchive>.Cré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 <Variable zipArchive>.AjouteListeFichier.
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 :
  • Linux Seules les archives au format ZIP, TAR et TGZ (TAR.GZ) 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 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.
Composante : wd280zip.dll
Version minimum requise
  • Version 24
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire