Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

Pagetitle
FUnzipFUnZipFUnzip
FUnZip

Descompacta um arquivo no formato Zip.

...

Bloco de código
collapsefalse
FUnzipFUnZip( < cArquivoZipcZipFile >, < cPastacFolder >, [ cSenha cPassword ], [ lChangeCase ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cArquivoZipcZipFile

caracterecharacter

Indica o nome do arquivo que será descompactado zip.

X


 cFolder

cPasta

caracterecharacter

Pasta onde o arquivo será descompactado.

X


 cPassword

cSenhacharacter

caractere

Se o arquivo foi compactado com senha, informar essa senha

 



lChangeCase

logical

Se verdadeiro (.T.), nomes de arquivos e pastas serão convertidos para letras minúsculas; caso contrário, falso (.F.), não será feito nenhum ajuste no nome do arquivo informado. Valor padrão: .T.. Veja maiores informações em Observações. 



Retorno

Nome

Tipo

Descrição

nRet

numériconumeric

Retorna 0 (zero) se consegui conseguiu descompactar, ou diferente de 0 (zero) em caso de erro.

Observações

  • O arquivo de origem e a pasta destino precisam sempre estar no mesmo lugar: Servidor (relativo ao rootpathRootPath), ou Cliente (caminho completo).
  • Função disponível apenas para builds superiores a 7.00.131227

Exemplos

  • Caso haja diferença de lugar entre o arquivo de origem e a pasta de destino, será apresentada no console do Application Server a mensagem "tFunzip: Error, both paths must be on the same side (server/client)" e o retorno da função será -1.
  • Caso o arquivo apontado em cZipFile esteja no Cliente e o programa seja executado via Job, o programa será encerrado com a ocorrência de erro fatal "Function FUnZip() cannot access client directory/file in Job.".
  • Os caminhos apontados em cZipFile e cFolder não são convertidos para minúsculo, sendo tratados da forma como são escritos. Dessa forma, em Windows não existe impacto no acesso aos arquivos e pastas, mas em Linux, devido ao sistema operacional diferenciar caminhos em maiúsculo e minúsculo, pode não conseguir acessar o caminho, devendo ser escrito com o Case Sensitive correto.
  • O parâmetro opcional lChangeCase foi introduzido a partir da versão 24.3.0.0 do Application Server, pois em sistemas LINUX/UNIX existe a diferenciação entre maiúsculo e minúsculo em nomes de arquivos ou pastas. Quando este parâmetro for informado, terá prioridade sobre comportamento de Case Sensitive definido pelas chaves de ini CASESENSITIVE ou SERVERTYPE. Porém, quando não especificado o parâmetro, o valor padrão (.T.) fica condicionado ao que está configurado nessas chaves.
  • Somente o padrão de criptografia ZIP 2.0 é suportado. Os padrões baseados em AES não são suportados atualmente.
Nota
icontrue
titleAtenção

A partir da versão 24.3.0.0 do Application Server a função por padrão irá converter os caminhos informados em cZipFile e cFolder para minúsculo, mantendo o comportamento existente em todas as funções que tratam arquivos. Em versões anteriores, os caminhos informados não são alterados.

Exemplos

Bloco de código
languagecpp
themeEclipse
Bloco de código
themeEclipse
languagecpp
titleExemplo 1
linenumberstrue
collapsefalse
Useruser Functionfunction exemplo ()
  Local nRet := 0
  
  nretnRet := FUnZip( "\imagens.zip", "\testing", )
  
  if nRet nret!= 0
    conout( "Não foi possível descompactar" )
  else
    conout( "Arquivo descompactado com sucesso" )
  endif
 return
Return

Abrangência

Versões do binário superiores à 7.00.131227AFunção disponível apenas para versões iguais ou superiores a 13.2.3.17 do Application Server.

Veja também