GzCompress [AS]

GzCompress [AS]
Author: Eurai
Inclusão: 01/01/2016
Alteração: 27/07/2021

Descrição

Compacta um arquivo do ambiente do servidor, a partir do rootpath, para um arquivo no formato gzip.

 

Sintaxe

GzCompress( <cFile>, <cGzip>, <lChangeCase> )

 

Parâmetros


Par Nome Tipo Descrição Default Obg Ref
01
cFile Caracter Indica o arquivo no servidor que será compactado   X  
02 cGzip Caracter Indica o nome do arquivo compactado   X  
03 lChangeCase Boolean Indica se colocará o nome dos arquivos em letra minúscula      

 

Retorno

Retorno Tipo Descrição
lRet Boolean
Retorna .T. se a compactação for realizada com sucesso; caso contrário, retorna .F..

 

Exemplo

#INCLUDE "TOTVS.CH"
 
User Function GzCompress()
local lGzCompress	:= .F.
 
lGzCompress := GzCompress( "\Calculo.TXT", "\Arquivo.gz" )
If lGzCompress
	Conout( 'Compactado com Sucesso' )
Endif
 
Return( Nil )

Resultado
gzcompress_-_resultado_01  

 

 

Informações adicionais

Essa função compacta um único arquivo para o formato gzip (GNU zip)

Para compactar mais de um arquivo usando o formato gzip, agrupe os arquivos utilizando a função TarCompress e utilize o arquivo de saída no parâmetro cFile da função GzCompress

Caso seja passado algum arquivo no cliente, é gerada uma exceção com a mensagem: "Only path on server are allowed"

GzCompress trabalha somente com arquivos e diretórios localizados no servidor (a partir do RootPath do ambiente). Caso o nome do arquivo de destino, apontado pelo parâmetro <cGzip>, não seja válido, é gerada uma exceção com a mensagem: "File name invalid"

Caso o nome do arquivo de destino não seja especificado, cGzip será o nome do arquivo apontado pelo parâmetro cFile seguido da extensão gz (".gz")"

Os caminhos apontados por cFile e cGzip serão convertidos para letra minúscula. A partir da build 7.00.121227A, os caminhos não serão convertidos para letra minúscula para Logix

A partir da build 7.00.120420A, o comportamento de mudança para letra minúscula, para Linux, pode ser alterado modificando o valor da chave CaseSensitive, na seção General, do arquivo ini do TOTVS | Application Server. Essa mudança impacta outras funções que também tratam arquivos

A partir da build 7.00.131227A foi criado o parâmetro lChangeCase, que se for definido com o valor .T., altera o nome dos arquivos para letra minúscula, e se for .F. não altera o nome dos arquivos. O valor padrão do parâmetro é .T.

Em ambiente Windows, os nomes de arquivos não possuem diferenciação entre maiúsculo e minúsculo, logo, a função conseguirá tratar os arquivos apontados por cFile e cGzip independente do valor definido no parâmetro lChangeCase. Em ambiente Linux ou Mac, o nome dos arquivos respeita a diferenciação

 

 

 

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎  

 

 

 

 

 

 

 

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários