Saltar para o conteúdo principal
Versão: 20 R10 BETA

BLOB PROPERTIES

BLOB PROPERTIES ( BLOB ; comprimido {; descompTam {; tamanhoAtual}} )

ParâmetroTipoDescrição
BlobBlobBLOB do qual obter informação
comprimidoInteger0 = BLOB não está comprimido 1 = BLOB comprimido modo compacto 2 = BLOB comprimido modo rápido
descompTamIntegerTamanho do BLOB (em bytes) quando não está comprimido
tamanhoAtualIntegerTamanho atual do BLOB (em bytes)

Descrição

O comando BLOB PROPERTIES retorna informações sobre o blob BLOB.diz se o BLOB é comprimido ou não, e retorna um dos seguintes valores.

ConstanteTipoValorComentário
Compact compression modeInteiro longo1Comprimido tanto quanto possível (á custa da velocidade das operações de compressão e descompressão). Método padrão.
Fast compression modeInteiro longo2Comprimido tão rápido quanto possível (e será descomprimido tão rápido quanto possível), à custa da taxa de compressão (o BLOB comprimido será maior).
GZIP best compression modeInteiro longo-1Compressão GZIP mais compacta
GZIP fast compression modeInteiro longo-2Compressão GZIP mais rápida
Is not compressedInteiro longo0Sem compressão
  • Seja qual for o estado de compressão do BLOB, o parâmetro expandedSize retorna o tamanho do BLOB quando não é comprimido.
  • O parâmetro tamanhoAtual retorna o tamanho atual do BLOB. Se o BLOB estiver compactado, você normalmente irá obter tamanhoAtual menor que descompTam. Se o BLOB não está compactado, você vai sempre obter tamanhoAtual igual descompTam.

Exemplo 1

Veja os exemplos para os comandos COMPRESS BLOB e EXPAND BLOB.

Exemplo 2

Depois que um BLOB foi comprimido, o método de projeto obtém a porcentagem de espaço salvo por compressão:

 // Método de projeto Espaço economizado por compressão
// Espaço economizado pela compressão (Ponteiro {; Ponteiro } ) -> Inteiro Longo
// Espaço economizado pela compressão ( -> BLOB {; -> bytesEconomizados } ) -> Porcentagem

#DECLARE ($blob : Pointer ; $saved : Pointer ) -> $percent : Integer
var $vlComprimido;$vlDescompTam;$vlTamanhoAtual : Integer

BLOB PROPERTIES($blob->;$vlComprimido;$vlDescompTam;$vlTamanhoAtual)
If($vlDescompTam=0)
$percent:=0
If(Count parameters>=2)
$saved->:=0
End if
Else
$percent:=100-(($vlTamanhoAtual/$vlDescompTam)*100)
If(Count parameters>=2)
$saved->:=$vlDescompTam-$vlTamanhoAtual
End if
End if

Depois que este método tenha sido adicionado à sua aplicação, você pode usá-lo desta maneira:

 // ...
COMPRESS BLOB(vxBlob)
$vlPorcentaje:=Espaço economizado pela compressão(->vxBlob;->vlTamanhoBlob)
ALERT("A compressão economizou "+String(vlBlobSize)+" bytes, "+String($vlPorcentagem;"#0%")+
" de espaço.")

Ver também

COMPRESS BLOB
EXPAND BLOB

Propriedades

Número do comando536
Thread-seguro

AltStyle によって変換されたページ (->オリジナル) /