GzCompress [AS]
Autor: Eurai Criado: 01/01/2016 Atualizado: 27/07/2021Descrição
Compacta um arquivo do ambiente do servidor, a partir do rootpath, para um arquivo no formato gzip. |
Sintaxe
GzCompress( |
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
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! 😎