4D v16.3

BLOB PROPERTIES

Página Inicial

 
4D v16.3
BLOB PROPERTIES

BLOB PROPERTIES 


 

BLOB PROPERTIES ( BLOB ; comprimido {; descompTam {; tamanhoAtual}} )  
Parâmetro Tipo   Descrição
BLOB  BLOB in BLOB do qual obter informação
comprimido  Inteiro longo in 0 = BLOB não está comprimido 1 = BLOB comprimido modo compacto 2 = BLOB comprimido modo rápido
descompTam  Inteiro longo in Tamanho do BLOB (em bytes) quando não está comprimido
tamanhoAtual  Inteiro longo in Tamanho atual do BLOB (em bytes)

O comando BLOB PROPERTIES retorna informações sobre o blob BLOB.

  • O parâmetro comprimido diz se o BLOB é comprimido ou não, e retorna um dos seguintes valores.

Constante Tipo Valor Comentário
Compact compression mode Inteiro longo 1 Comprimido tanto quanto possível (á custa da velocidade das operações de compressão e descompressão). Método padrão.
Fast compression mode Inteiro longo 2 Comprimido 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 mode Inteiro longo -1 Compressão GZIP mais compacta
GZIP fast compression mode Inteiro longo -2 Compressão GZIP mais rápida
Is not compressed Inteiro longo 0 Sem 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.

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

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
 
 C_POINTER($1;$2)
 C_LONGINT($0;$vlComprimido;$vlDescompTam;$vlTamanhoAtual)
 
 BLOB PROPERTIES($1->;$vlComprimido;$vlDescompTam;$vlTamanhoAtual)
 If($vlDescompTam=0)
    $0:=0
    If(Count parameters>=2)
       $2->:=0
    End if
 Else
    $0:=100-(($vlTamanhoAtual/$vlDescompTam)*100)
    If(Count parameters>=2)
       $2->:=$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 

Produto: 4D
Tema: BLOB
Número 536

 
HISTÓRIA 

Criado por: 4D v6
Modificado: 4D v13

 
PALAVRAS CHAVES 

blob compression, Compression

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)