Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Próxima »

Função: UnCompress

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

UnCompress ( < @cBufferOut>, < @nLengthOut>, < cBufferIn>, < nLengthIn> ) --> lRet

NomeTipoDescriçãoObrigatórioReferência
cBufferOutCaracterIndica a variável string que receberá o buffer descompactado. X X
nLengthOutNuméricoIndica o tamanho do buffer descompactado. Deve indicar um tamanho suficiente de bytes necessário para descompactar o buffer compactado ( 3º parametro ) . Apos o processamento, em caso de sucesso, este parametro por referência será alimentado com o tamanho real utilizado do buffer descompactado. X X
cBufferInCaracterIndica o buffer compactado pela função Compress(), a ser descompactado. X
nLengthInNuméricoIndica o tamanho do buffer compactado. Essa informação é importante para a correta descompactação do buffer -- normalmente informamos o tamanho integral do buffer especificado no 3º parâmetro. X
    lRet(logico)
  • Retorna verdadeiro (.T.), se o buffer for descompactado com sucesso; caso contrário, falso (.F.).
  • Essa função aceita e retorna caracteres especiais ( ASCII < 32 e ASCII > 128 ) de vários tipos, incluindo zero binário.
  • Caso o segundo parametro seja inferor ao necessário para descompactar o buffer, a função retornará .F . ( Falso ) 
//Exemplo 1cBufferIn  := xBuffer            // (Buffer gerado pela função compress) nLenghtIn  := Len( cBufferIn )   // Tamanho do buffer compactadocBufferOut := ""                 // Variável que receberá o buffer descompactadonLenghtOut := 0                  // Tamanho do buffer descompactado// Descompacta o buffer gerado pela função Compress()UnCompress(cBufferOut, nLenghtOut, cBufferIn, nLenghtIn )/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Exemplo 2user function TSTComp      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 .t.
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

  • Sem rótulos