Árvore de páginas

Versões comparadas

Chave

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

...

Nome

Tipo

Descrição

Obrigatório

Referência

cTarFile

caractere

Indica o nome do arquivo ( com formato TAR ) cujo conteúdo será restaurado.

X

 

cOutDir

caractere

Indica o diretório onde os arquivos, contidos no arquivo TAR, serão restaurados.

X

 

nFilesOut

numérico

Retorna o número de arquivos extraídos na operação.

 

X

lChangeCase

lógicoIndica se colocará o nome dos arquivos em letra minúscula

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

lRet

lógico

Retorna verdadeiro (.T.), se a descompactação for realizada com sucesso; caso contrário, retorna falso (.F.).

...

  • Esta função somente extrai arquivos agrupados no formato TAR.
  • Esta função trabalha somente com arquivos e diretórios localizados no servidor (a partir do rootPath do ambiente).
  • Caso seja passado em cTarFile o caminho de algum arquivo no cliente, é gerada uma exceção com a mensagem: "Only path file on server are allowed"; caso seja passado em cOutDir o caminho de alguma pasta no cliente, é gerada uma exceção com a mensagem: "Only path dir on server are allowed".
  • nFilesOut está disponível em builds superiores a 7.00.111010A.
  • Antes de extrair o arquivo, verifique o espaço em disco, disponível na unidade de disco, e/ou as permissões para criação e alteração de arquivos e diretórios.
  • Caso <cTarFile> não exista, será exibida a mensagem "Server File not found on TarDecomp()"; caso não exista <cOutDir>, será exibida a mensagem "Server Directory not found on TarDecomp()".
  • Caso <cOutDir> seja uma string vazia, é gerada uma exceção com a mensagem: "Invalid empty target path for TarDecomp".
  • Se nada for extraído do arquivo, será exibida a mensagem: "No files extracted on TarDecomp()".
  • Os caminhos de cOutDir, cTarFile, e dos arquivos e/ou pastas contidos em cTarFile serão convertidos para letra minúscula. A partir da O parâmetro opcional lChangeCase foi introduzido a partir do 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.131227A 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. Porem, quando não especificado o parâmetro, o valor padrão (.T.) fica condicionado ao que está configurado nessas chaves.
  • 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 cOutDir e cTarFile independente do valor definido no parâmetro lChangeCase. Em ambiente Linux ou Mac, o nome dos arquivos respeita a diferenciação.

Exemplos

Bloco de código
themeEclipse
languagecpp
titlethemeExemplo 1Eclipse
linenumberstrue
collapsefalse
user function exemplo()
  local aItens := {}
  local tarFile := ""
  local lRet := .F.
  
  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" )
  
  // restaura o conteúdo do tar
  lRet := tarDecomp( "\testdir\file.tar", "\testdir2" )
return

...

Protheus 10, Protheus 11, Protheus 12

Veja também

...