import.css=/download/attachments/6062824/tecnologia.css

Descompacta um buffer (gerado pela função Compress) recebido através do algoritmo proprietário.

Sintaxe

UnCompress( < @cBufferOut >, < @nLenghtOut >, < cBufferIn >, < nLenghtIn > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cBufferOut

caractere

Indica a variável string que receberá o buffer descompactado.

X

X

nLenghtOut

numérico

Indica o tamanho do buffer descompactado.

X

X

cBufferIn

caractere

Indica o buffer que será descompactado.

X

 

nLenghtIn

numérico

Indica o tamanho do buffer compactado.

X

 

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna verdadeiro (.T.), se o buffer for descompactado com sucesso; caso contrário, falso (.F.).

Observações

Exemplos

user function uncomp1()
  cBufferIn  := xBuffer            // (Buffer gerado pela função compress)
  nLenghtIn  := Len( cBufferIn )   // Tamanho do buffer compactado
  cBufferOut := ""                 // Variável que receberá o buffer descompactado
  nLenghtOut := 0                  // Tamanho do buffer descompactado
  
  // Descompacta o buffer gerado pela função Compress()
  UnCompress( @cBufferOut, @nLenghtOut, cBufferIn, nLenghtIn )
return
user function uncomp2()
  Local cNaoComp := replicate( 'A', 1024 )
  Local cComp := '', cResult := ''
  Local nTamNaoComp := len( cNaoComp )
  Local nTamComp := 0
  Local bResp
  
  bResp := compress( @cComp, @nTamComp, cNaoComp, nTamNaoComp )
  If( bResp )
    Alert( "Buffer Compactado - Tamanho Compactado" + str( nTamComp ) )
  else
    Alert( "Falha ao compactar o Buffer!" )
    return
  endif
  
  bResp := uncompress( @cResult, @nTamNaoComp, cComp, nTamComp )
  If( !bResp )
    Alert( "Falha ao descompactar o Buffer!" )
    return
  endif
  
  if( cResult != cNaoComp )
    Alert( "Buffer descompactado diferente do buffer original" )
  else
    Alert( "Buffer descompactado igual ao buffer original" )
  endif
return

Abrangência

Advanced Protheus 6.09, Advanced Protheus 7.10, Microsiga Protheus 8.11, Protheus 10, TOTVS Application Server 10, ByYou Application Server

Veja também