Árvore de páginas

Descompacta uma string no formato gzip.

Sintaxe

GzStrDecomp( < cSource >, < nSourceLen >, < @cTarget > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cSource

caractere

Indica a string que está compactada.

X


nSourceLen

numérico

Indica o tamanho da string compactada.

X


cTarget

caractere

Indica a string descompactada.

X

X

Retorno

Nome

Tipo

Descrição

lRet

lógico

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

Observações

  • Essa função descompacta um string no formato gzip (GNU zip).
  • Caso haja um erro na descompactação, é definido em cTarget uma string vazia ("").

Exemplos

#include "TOTVS.ch"
User Function Exemplo()

  Local lRet      := .F.
  Local cDataText := ""
  Local cCompText := ""
  Local cDecText  := ""
  Local nDataLen  := 0
  Local nCompLen  := 0
  Local nDecLen   := 0

  cDataText := "Testing function GzStrDecomp..."
  nDataLen  := Len( cDataText )

  ConOut( "cDataText [" + cDataText                  + "]" )
  ConOut( "nDataLen  [" + AllTrim( Str( nDataLen ) ) + "]" )

  lRet := GzStrComp( cDataText, @cCompText, @nCompLen )
  If ( lRet == .F. )
    ConOut( "GzStrComp   call NOK" )
  Else
    ConOut( "GzStrComp   call OK" )
  EndIf

  lRet := GzStrDecomp( cCompText, nCompLen, @cDecText )
  If ( lRet == .F. )
    ConOut( "GzStrDecomp call NOK" )
  Else
    ConOut( "GzStrDecomp call OK" )
  EndIf

  nDecLen  := Len( cDecText )

  ConOut( "cDecText  [" + cDecText                   + "]" )
  ConOut( "nDecLen   [" + AllTrim( Str( nDecLen  ) ) + "]" )

  If ( cDecText <> cDataText )
    ConOut( "cDecText <> cDataText" )
    lRet := .F.
  Else
    ConOut( "cDecText == cDataText" )
  EndIf

  If ( nDecLen <> nDataLen )
    ConOut( "nDecLen  <> nDataLen" )
    lRet := .F.
  Else
    ConOut( "nDecLen  == nDataLen" )
  EndIf

  If ( lRet == .F. )
    ConOut( "GzStrDecomp NOK" )
  Else
    ConOut( "GzStrDecomp OK" )
  EndIf

Return

Abrangência

Application Server 13.0.0.0

Veja também