Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19.8
ZIP Create archive

ZIP Create archive 


 

ZIP Create archive ( fileOrFolder | zipStructure ; destinationFile {; options} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
fileOrFolder | zipStructure   Objekt in Objekt File oder Folder zum Komprimieren
destinationFile  Objekt in Zieldatei für das Archiv
options  Lange Ganzzahl in Bei Verwenden von fileOrFolder: ZIP ohne Einbinden des übergeordneten Folder
Funktionsergebnis  Objekt in Objekt Status

Der Befehl ZIP Create archive erstellt ein komprimiertes ZIP Archiv und gibt den Status der Operation zurück. 

Sie können als ersten Parameter entweder ein Objekt fileOrFolder oder zipStructure übergeben.

  • fileOrFolder
    Mit dieser Syntax übergeben Sie einfach das Objekt File oder Folder zum Komprimieren. In diesem Fall können Sie den Parameter options verwenden (siehe unten). 
  • zipStructure
    Mit dieser Syntax übergeben Sie ein Objekt mit Angaben zum ZIP Archiv. In diesem Fall wird der Parameter options ignoriert. Es gibt folgende Eigenschaften für die Struktur:

    Eigenschaft   Typ Beschreibung
    compression  Lange Ganzzahl
    Konstante Kommentar
    ZIP Compression none

    Keine Komprimierung

    ZIP Compression standard

    Standard Komprimierung (standardmäßig)

    encryption  Lange Ganzzahl Art der Verschlüsselung, wenn ein Kennwort gesetzt ist:
     
    Konstante Kommentar
    ZIP Encryption AES128

    AES Verschlüsselung mit 128-bit Schlüssel

    ZIP Encryption AES192

    AES Verschlüsselung mit 192-bit Schlüssel

    ZIP Encryption AES256

    AES Verschlüsselung mit 256-bit Schlüssel (Standard, wenn Kennwort gesetzt ist)

    ZIP Encryption none

    Daten sind nicht verschlüsselt (Standard, wenn kein Kennwort gesetzt ist)

    password  Text Angabe des Kennworts, wenn Verschlüsselung erforderlich ist.
    files  Collection
    • Collection mit Objekten File oder Folder oder
    • Collection mit Objekten mit folgenden Eigenschaften:
      Eigenschaften Typ Beschreibung
      source Objekt File oder Folder
      destination Text (optional) - Angabe des relativen Dateipfads, um Inhalt des Archivs umzuorganisieren
      option Nummer (optional) - ZIP Ignore invisible files oder 0 zum Komprimieren aller Dateien
    callback  Formel Callback Formel, die das Fortschreiten der Komprimierung (0 - 100) in $1 empfängt. 

Im Parameter destinationFile übergeben Sie ein Objekt File mit der Beschreibung des zu erstellenden ZIP Archivs (Name, Speicherort, etc.). Verwenden Sie die Endung ".zip", damit das ZIP Archiv automatisch von jeder Software erkannt wird. 

Mit dem optionalen Parameter options können Sie nur den Inhalt von fileOrFolder komprimieren (z.B. enthaltenen Folder ausschließen): Übergeben Sie die Konstante Folder im Parameter fileOrFolder, komprimiert ZIP Create archive standardmäßig Folder und seinen Inhalt. Beim Entkomprimieren wird wieder ein Folder erstellt. Soll nur der Inhalt von Folder komprimiert werden, übergeben Sie im Parameter options die Konstante ZIP Without enclosing folder.

Ist ein Archiv angelegt, können Sie mit der Konstanten ZIP Read archive darauf zugreifen (siehe Eigenschaften).

Das zurückgegebene Objekt Status enthält folgende Eigenschaften:

Eigenschaft Typ Beschreibung
statusText Text Fehlermeldung (falls vorhanden):
  • ZIP Archiv kann nicht geöffnet werden
  • ZIP Archiv kann nicht erstellt werden
  • Kennwort zur Verschlüsselung ist erforderlich
status Lange Ganzzahl Status Code
success Boolean Wahr, wenn das Archiv erfolgreich angelegt wurde, sonst Falsch

Ein Objekt File komprimieren:

 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)

Ein Objekt Folder ohne Folder selbst komprimieren:

 C_OBJECT($folder;$destination;$status)
 
 $destination:=Folder(fk desktop folder).file("MyDocs/Images.zip")
 $file:=Folder(fk desktop folder).folder("MyDocs/Images")
 
 $status:=ZIP Create archive($folder;$destination;ZIP Without enclosing folder)

Ein ZIP Archiv mit Kennwort und Ablaufbalken komprimieren:

 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 //we use the 4D Progress component
 
 $status:=ZIP Create archive($zip;$destination)
 
 Progress QUIT(progID)

myFormulaCompressingMethod:

 C_LONGINT($1)
 Progress SET PROGRESS(progID;Num($1/100))

Eine Collection von Folder und Files zum Komprimieren an das Objekt zipStructure übergeben:

 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)



Siehe auch 

Über ZIP Archive
ZIP Read archive

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: File und Folder
Nummer: 1640

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v18

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)