Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
ZIP Create archive
|
ZIP Create archive ( arquivoOuPasta|estruturaZip ; arquivoDestino {; opções} ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
arquivoOuPasta|estruturaZip | Objeto |
![]() |
Objeto arquivo ou pasta a comprimir | |||||
arquivoDestino | Objeto |
![]() |
Arquivo destino para o arquivo | |||||
opções | Inteiro longo |
![]() |
Se arquivoOuPasta usado: ZIP sem anexar pasta | |||||
Resultado | Objeto |
![]() |
estado objeto | |||||
O comando ZIP Create archive cria um objeto achivo ZIP compactado e devolve o estatus da operação.
Pode passar um objeto arquivoOuPasta ou um objeto estruturaZip como primeiro parâmetro.
Propriedade | Tipo | Descrição | ||||||||||||
compression | entero largo |
| ||||||||||||
encryption | entero largo | O cifrado a utilizar se for definido uma senha:
| ||||||||||||
password | texto | Uma senha a utilizar se precisar cifrado. | ||||||||||||
files | collection |
| ||||||||||||
callback | formula | Uma fórmula de retrochamada que receberá o progresso de compressão (0 - 100) em $1. |
No parâmetro arquivoDestino, passe um objeto File que descreva o arquivo ZIP a criar (nome, local, etc.). Se recomenda utilizar a extensão ".zip" se quiser que o arquivo ZIP seja processado automaticamente por qualquer software.
O parâmetro opcional opções lhe permite comprimir só o contúdo de arquivoOuPasta (ou seja, excluir a pasta anexa): de forma predeterminada, quando passar Folder no parâmetro arquivoOuPasta, ZIP Create archive comprimirá a carpeta e seu conteúdo, para que a operação de descompressão volte a criar uma pasta. Se quiser que a operação de descompresão comprima só o conteúdo da pasta, passe a constante ZIP Without enclosing folder no parâmetro opções.
Quando criar um arquivo, pode utilizar o ZIP Read archive para acessá-lo (ver Propriedades).
O objeto de estado devolvido contém as propriedades abaixo:
Propriedade | Tipo | Descrição |
statusText | texto | Mensagem de erro (se houver):
|
status | entero largo | Código de estado |
success | booleano | True se o arquivo for criado com sucesso, do contrário false |
Para comprimir um 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)
Para comprimir um Folder sem a pasta em si:
C_OBJECT($folder;$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)
Para comprimir uma estrutura de arquivo ZIP com uma senha e barra de progresso:
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))
Se quiser passar uma coleção de pastas e arquivos para comprimir ao objeto zipStructure:
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)
Produto: 4D
Tema: Arquivo e Pasta
Número
1640
Criado por: 4D v18
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)