4D v12.4

BLOB PROPERTIES

Inicio

 
4D v12.4
BLOB PROPERTIES

 

BLOB PROPERTIES 


 

BLOB PROPERTIES ( BLOB ; comprimido {; descompTam {; tamañoActual}} )  
Parámetro Tipo   Descripción
BLOB  BLOB in BLOB del cual obtener información
comprimido  Entero largo in 0 = BLOB no está comprimido 1 = BLOB comprimido modo compacto 2 = BLOB comprimido modo rápido
descompTam  Entero largo in Tamaño del BLOB (en bytes) cuando no está comprimido
tamañoActual  Entero largo in Tamaño actual del BLOB (en bytes)

El comando BLOB PROPERTIES devuelve información sobre el BLOB blob.

  • El parámetro comprimido indica si el BLOB está comprimido o no y devuelve uno de los siguientes valores. Nota: 4D ofrece constantes predefinidas.

Constante Tipo Valor Comentario
Compact compression mode Entero largo 1 Compresión interna más compacta (en detrimento de la velocidad a la cual la compresión y descompresión se efectúan). Método por defecto.
Fast compression mode Entero largo 2 Compresión más rápida en detrimento (y será descomprimido lo más rápido posible), en detrimento de la tasa de compresión (una vez comprimido, el BLOB será más grande).

  • Cualquiera que sea el estado de compresión del BLOB, el parámetro descompTam devuelve el tamaño del BLOB cuando no está comprimido.

Vea los ejemplos de los comandos COMPRESS BLOB y EXPAND BLOB.

Después de que un BLOB ha sido comprimido, el siguiente método de proyecto obtiene el porcentaje de espacio ahorrado por la compresión:

  ` Método de proyecto Espacio ahorrado por compresión
  ` Espacio ahorrado por la compresión (Puntero {; Puntero } ) -> Entero Largo
  ` Espacio ahorrado por la compresión ( -> BLOB {; -> bytesAhorrados } ) -> Porcentaje
 
 C_POINTER($1;$2)
 C_LONGINT($0;$vlComprimido;$vlDescompTam;$vlTamañoActual)
 
 BLOB PROPERTIES($1->;$vlComprimido;$vlDescompTam;$vlTamañoActual)
 If($vlDescompTam=0)
    $0:=0
    If(Count parameters>=2)
       $2->:=0
    End if
 Else
    $0:=100-(($vlTamañoActual/$vlDescompTam)*100)
    If(Count parameters>=2)
       $2->:=$vlDescompTam-$vlTamañoActual
    End if
 End if

Después de añadir este método a su aplicación, lo puede utilizar de esta manera:

  ` ...
 COMPRESS BLOB(vxBlob)
 $vlPorcentaje:=Espacio ahorrado por compresión(->vxBlob;->vlTamañoBlob)
 ALERT("La compresión ahorró "+String(vlBlobSize)+" bytes, "+String($vlPorcentaje;"#0%")+
 " de espacio.")

 
PROPIEDADES 

Producto: 4D
Tema: BLOB
Número 536

 
HISTORIA 

Creado por: 4D v6

 
VER TAMBIÉN 

COMPRESS BLOB
EXPAND BLOB

 
PALABRAS CLAVES 

blob compression, Compression***