Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
collapsefalse
GzStrComp( < cSource >, < @cTarget >, < @nTargetLen > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cSource

caractere

Indica a string que será compactada.

X

 


cTarget

caractere

Indica a string compactada.

X

X

nTargetLen

numérico

Indica o tamanho da string compactada.

X

X

Retorno

Nome

Tipo

Descrição

lRet

lógico

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

Observações

  • Essa função compacta no formato gzip (GNU zip).
  • Caso cSource seja uma string vazia, é gerada uma exceção com a mensagem: "Error in GzStrComp(): String is empty.".
  • Caso haja um erro na compactação, é definido em cTarget uma string vazia ("") e em nTargetLen o valor 0 (zero).

Exemplos

Bloco de código
languagecpp
themeEclipselanguagecpp
titleExemplo 1
linenumberstrue
collapsefalse
#include "TOTVS.ch"
user function exemploExemplo()
  Local lRet := .F.
  Local cUncomp := "", cComp := ""
  Local nLenComp := 0, nHandle := -1
  Local cText := ""
  Local cTxtFile := "", cGzFile := ""
  Local cUncompcEnvPath := MemoRead( "\myfile.txt" )
  
  cComp ""

  cText := "Teste da funcao GzStrComp."
  
  cTxtFile := "\file.txt"
  cGzFile := "\file.gz"

  nLenCompnHandle := 0 FCreate( cTxtFile )
  FWrite( nHandle, cText )
  lRet :=FClose( nHandle )

  GzStrComp( cUncompcText, @cComp, @nLenComp )

  if lRet == .F.nHandle := FCreate( cGzFile )
  FWrite( nHandle, returncComp )
  endif
 FClose( nHandle )

  if isSrvUnix() 
  nHandle  cEnvPath := FCreateGetSrvProfString( "\mygzip.gzRootPath", "" )
  if nHandle < 0  GzDecomp( cGzFile, cEnvPath )
  else
    returnGzDecomp( cGzFile, "\" )
  endif 
  
  FWriteGzStrDecom( nHandlecComp, cCompnLenComp, nLenComp@cUncomp )
  
  FErase( cTxtFile )
  FCloseFErase( nHandle )cGzFile )
  
  ConOut(cUncomp) // Resultado: "Teste da funcao GzStrComp."
  
return

Veja também