Função: UnCompress
Descompacta um buffer (gerado pela função Compress()) recebido através do algoritmo proprietário.
UnCompress ( < @cBufferOut>, < @nLengthOut>, < cBufferIn>, < nLengthIn> ) --> lRet
Nome | Tipo | Descrição | Obrigatório | Referência |
cBufferOut | Caracter | Indica a variável string que receberá o buffer descompactado. | X | X |
nLengthOut | Numérico | Indica 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 |
cBufferIn | Caracter | Indica o buffer compactado pela função Compress(), a ser descompactado. | X | |
nLengthIn | Numérico | Indica 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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas