Ogni volta che si scambiano file, si procede sempre a comprimerli prima di inviarli. Da 4D v18 sono disponibili due comandi che consentono di creare e leggere un archivio ZIP utilizzando l’algoritmo di compressione zip standard.
Con 4D V19 R3, il comando Zip Create Archive supporta un nuovo algoritmo di compressione: LZMA. Il vantaggio di questo algoritmo è che crea archivi più piccoli rispetto all’algoritmo di compressione zip standard. Scopriamone di più!
Che cos’è LZMA?
LZMA è l’acronimo di Lempel-Ziv-Markov chain algorithm. LMZA è un algoritmo di compressione senza perdite creato da Igor Pavlov. Questo algoritmo di compressione dei dati utilizza uno schema di compressione a dizionario simile all’algoritmo LZ77 pubblicato da Abraham Lempel e Jacob Ziv.
Come si usa?
È possibile passare un oggetto“zipArchive” al comando ZIP Create Archive per personalizzare il proprio zip. Questo permette di scegliere l’algoritmo di compressione, l’algoritmo di crittografia e alcune altre opzioni. Leggete la documentazione per maggiori dettagli.
Per l’algoritmo di compressione, è possibile impostare l’attributo “compressione” su:
- Compressione ZIP Nessuna
- Compressione ZIP Standard
- Compressione ZIP LZMA
- Compressione ZIP XZ
Per il livello di compressione, si può impostare l’attributo “level” tra 1 e 10.
Ecco un esempio che comprime una cartella usando l’algoritmo LZMA:
var $zip; $status: Object
var $destination : 4D.File
$zip :=New object
$zip .files:=Nuova raccolta
$zip .files.push(Folder(fk documents folder).cartella("Archivio 2020"))
$zip .compression:=ZIP Compression LZMA
$zip.
level:=4
$destination :=Folder(fk desktop folder).file("Archivio2020.zip")
$status :=ZIP Create archive($zip; $destination)
Ecco il risultato ottenuto su un archivio di quasi 2 GB contenente 1800 immagini:
A voi! Non esitate a condividere i vostri commenti e le vostre impressioni sul forum.