Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
ZIP Create archive
|
ZIP Create archive ( fichierOuDossier | structureZip ; fichierDestination {; options} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
fichierOuDossier | structureZip | Objet |
![]() |
Objet fichier ou dossier à compresser | |||||
fichierDestination | Objet |
![]() |
Fichier de destination de l'archive | |||||
options | Entier long |
![]() |
Si fichierOuDossier est utilisé : ZIP sans dossier parent | |||||
Résultat | Objet |
![]() |
Objet statut | |||||
La commande ZIP Create archive crée un objet archive ZIP compressé et retourne le statut de l'opération.
Vous pouvez passer soit un objet fichierOuDossier ou structureZip en tant que premier paramètre.
Propriété | Type | Description | ||||||||||||
compression | entier |
| ||||||||||||
encryption | entier | Le chiffrement à utiliser si un mot de passe est défini :
| ||||||||||||
password | texte | Un mot de passe à utiliser si le chiffrement est requis. | ||||||||||||
files | collection |
| ||||||||||||
callback | formule | Un formule callback qui recevra la progression de la compression (0 - 100) dans $1. |
Dans le paramètre fichierDestination, passez un objet File décrivant l'archive ZIP à créer (nom, emplacement, etc.). Il est conseillé d'utiliser l'extension ".zip" si vous souhaitez que l'archive ZIP soit traitée automatiquement par un logiciel.
Le paramètre optionnel options vous permet de compresser uniquement le contenu de fichierOuDossier (c'est-à-dire, exclure le dossier qui le contient) : par défaut, lorsque vous passez un Folder dans le paramètre fichierOuDossier, ZIP Create archive compressera le dossier et son contenu, de sorte que l'opération de décompression recrée un dossier. Si vous souhaitez que l'opération de décompression compresse uniquement le contenu du dossier, passez la constante ZIP Without enclosing folder dans le paramètre options.
Une fois que l'archive est créée, vous pouvez utiliser ZIP Read archive pour y accéder (voir Propriétés).
L'objet statut retourné contient les propriétés suivantes :
Propriété | Type | Description |
statusText | texte | Message d'erreur (le cas échéant) :
|
status | entier long | Code du statut |
success | booléen | Vrai si l'archive est créée avec succès, sinon Faux. |
Pour compresser un File:
C_OBJECT($file;$destination;$status)
$destination:=Folder(fk desktop folder).file("MyDocs/file.zip")
$file:=Folder(fk desktop folder).file("MyDocs/text.txt")
$status:=ZIP Create archive($file;$destination)
Pour compresser un Folder sans le dossier lui-même :
C_OBJECT($fiolder;$destination;$status)
$destination:=Folder(fk desktop folder).file("MyDocs/Images.zip")
$folder:=Folder(fk desktop folder).folder("MyDocs/Images")
$status:=ZIP Create archive($folder;$destination;ZIP Without enclosing folder)
Pour compresser une structure d'archive ZIP à l'aide d'un mot de passe et d'une barre de progression :
C_OBJECT($zip;$status;$destination)
C_LONGINT(progID)
$destination:=Folder(fk desktop folder).file("MyDocs/Archive.zip")
$zip:=New object
$zip.files:=Folder(fk desktop folder).folder("MyDocs/Resources").folders()
$zip.password:="password"
$zip.callback:=Formula(myFormulaCompressingMethod($1))
progID:=Progress New //nous utilisons le composant 4D Progress
$status:=ZIP Create archive($zip;$destination)
Progress QUIT(progID)
myFormulaCompressingMethod :
C_LONGINT($1)
Progress SET PROGRESS(progID;Num($1/100))
Vous souhaitez passer une collection de dossiers et de fichiers à compresser pour l'objet structureZip :
C_OBJECT($zip;$destination;$err)
$zip:=New object
$zip.files:=New collection
$zip.files.push(New object("source";Folder(fk desktop folder).file("Tests/text.txt")))
$zip.files.push(New object("source";Folder(fk desktop folder).file("Tests/text2.txt")))
$zip.files.push(New object("source";Folder(fk desktop folder).file("Images/image.png")))
$destination:=Folder(fk desktop folder).file("file.zip")
$err:=ZIP Create archive($zip;$destination)
Produit : 4D
Thème : Fichier et dossier
Numéro :
1640
Créé : 4D v18
4D - Langage ( 4D v19.5)
4D - Langage ( 4D v19.6)
4D - Langage ( 4D v19.7)
4D - Langage ( 4D v19.8)