Pomocí těchto příkazů můžete soubory a složky zazipovat/rozzipovat.

Automaticky přeloženo z Deepl

Před výměnou souborů (například e-mailem) je často komprimujeme, abychom zmenšili jejich velikost před odesláním. V aplikaci 4D v18 můžete soubory komprimovat a dekomprimovat pomocí programování, aniž byste potřebovali externí knihovny nebo nástroje. Zde jsou nové příkazy, které vám to umožní:

Příklad HDI

Komprimace souborů a složek

Nový Zip Create archive umožňuje vytvořit archiv zip předáním souboru, složky nebo objektu s parametry(např. , hesla pro čtení archivu).

Komprese souboru:

C_OBJECT($file;$destination)
$destination :=Folder(fk desktop folder).file("MyDocs/file.zip")
$file :=Folder(fk desktop folder).file("MyDocs/text.txt")
ZIP Create archive ($file;$destination).

Komprese složky:

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

Komprese s heslem a ukazatelem průběhu:

C_OBJECT($zip)
$destination :=Folder(fk desktop folder).file("MyDocs/Archive.zip")
$zip :=New object
$zip .files:=Folder(fk desktop folder).folder("MyDocs/Resources").folders()
$zip .password:="heslo"
$zip .callback:=Formula(FormulaCompressing ($1))

progID :=Progress New
ZIP Create archive
($zip;$destination)
Progress QUIT (progID)

Metoda FormulaCompressing:

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

Rozbalení souborů a složek

Nový ZIP Read archive vrátí objekt archivu. Manipulací s tímto objektem můžete snadno získat seznam souborů v archivu, rozbalit konkrétní soubor nebo rozbalit celý archiv atd.

Přečtení obsahu archivu

C_OBJECT($archive;$path)
$path :=Folder(fk desktop folder).file("MyDocs/Archive.zip")
$archive :=ZIP Read archive($path)

Získání seznamu souborů a složek

$folders:=$archive.root.folders()
$files :=$archive.root.files()

Přečtení obsahu souboru bez extrakce

If ($files[$i] .extension=".txt")
$txt :=$files[$i].getText()
Else
$blob :=$files[$i].getContent()
End if

Extrakce souboru z archivu

$folderResult:=$files[$i].copyTo(Folder(fk desktop folder).folder("MyDocs"))

Extrahovat všechny soubory

$folderResult:=$archive.root.copyTo(Folder(fk desktop folder).folder("MyDocs"))

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.