Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • 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.

Exemplos

Bloco de código
languagecpp
themeEclipselanguagecpp
titleExemplo 1
linenumberstrue
collapsefalse
user function exemplo()
local aItens := {}
local tarFile := ""

aAdd( aItens, "\file1.txt" )
aAdd( aItens, "\file2.txt" )
aAdd( aItens, "\file3.txt" )
aAdd( aItens, "\testdir\folderA" )
aAdd( aItens, "\testdir\folderB\file1-folderB.txt" )
aAdd( aItens, "\testdir\folderB\file2-folderB.txt" )
aAdd( aItens, "\testdir\folderB\file3-folderB.txt" )

// cria o arquivo tar
tarFile := tarCompress( aItens, "\testdir\file.tar" )

return

...