TarCompress - Resultado

TarCompress

 

Descrição

Armazena arquivos e diretórios em um único arquivo no formato TAR (Tape ARchive)

Sintaxe

TarCompress( <aItens>, <cDest>, <lChangeCase> )

 

Parâmetros

ParNomeTipoDescriçãoDefaultObgRef
01aItensArrayIndica os arquivos e diretórios que serão armazenadosX
02cDestCaracterIndica o nome do arquivo que será gerado com a extensão ".tar"X
03lChangeCaseBooleanIndica se colocará o nome dos arquivos em letra minúscula

Retorno

RetornoTipoDescrição
cRetCaracterEm caso de sucesso, retorna o nome do arquivo criado, incluindo o rootpath onde o arquivo no formato TAR foi criado; caso dê erro, retorna uma string em branco ("").

Exemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#INCLUDE "TOTVS.CH"
 
User Function TarCompress()
Local cNomeArq	:= ''
Local aItens	:= {}
 
aAdd( aItens, "\calculo.txt" )
aAdd( aItens, "\path\calculo.LOG" )
 
 
cNomeArq := tarCompress( aItens, "\arquivos.tar" )
If !Empty( cNomeArq )
 
	Conout( 'Compactado com Sucesso' )
 
Endif
 
Return( Nil )

Resultado

TarCompress - Resultado

TarCompress – Resultado

Informação Adicional

Informações Adicionais

Esta função agrupa uma lista de arquivos e/ou diretórios no formato TAR
TarCompress trabalha somente com arquivos e diretórios localizados no servidor (a partir do rootPath do ambiente). Caso seja passado algum arquivo no client, é gerada uma exceção com a mensagem: "Only path on server are allowed"
<aItens> deve ser um vetor de uma dimensão contendo strings com os nomes dos arquivos e/ou diretórios a serem agrupados. Caso o vetor tenha mais de uma dimensão, é gerada uma exceção com a mensagem "Argument must be an array of one dimension only"
Caso algum dos itens de <aItens> não seja do tipo caracter, ou tenha tamanho 0 (zero), ou o arquivo/diretório não exista, a função retorna uma string em branco e não gera o arquivo TAR
Caso o arquivo ou diretório contido em <aItens> não exista, será exibida a mensagem "File or Directory does not exist"
Os caminhos de cada item de aItens e de cDest 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 aItens e cDest independente do valor definido no parâmetro lChangeCase. Em ambiente Linux ou Mac, o nome dos arquivos respeita a diferenciação
O caminho do rootpath retornado em cFile será sempre em minúsculo, independente do valor passado em lChangeCase. Já o restante do caminho após o rootpath irá respeitar o valor que está em lChangeCase

0 respostas

Deixe uma resposta

Want to join the discussion?
Feel free to contribute!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *