versión 6.0
BLOB PROPERTIES (BLOB; comprimido{; descompTam{; tamañoActual}})
Parámetro | Tipo | Descripción | |
BLOB | BLOB | BLOB del cual obtener información | |
comprimido | Numérico | 0 = BLOB no está comprimido | |
1 = BLOB comprimido modo compacto | |||
2 = BLOB comprimido modo rápido | |||
descompTam | Numérico | Tamaño del BLOB (en bytes) cuando no está | |
comprimido | |||
tamañoActual | Numérico | Tamaño actual del BLOB (en bytes) |
Descripción
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 |
Is not compressed | Entero largo | 0 |
Compact compression mode | Entero largo | 1 |
Fast compression mode | Entero largo | 2 |
Cualquiera que sea el estado de compresión del BLOB, el parámetro descompTam devuelve el tamaño del BLOB cuando no está comprimido.
El parámetro tamañoActual devuelve el tamaño actual del BLOB. Si el BLOB está comprimido, tamañoActual será menor que descompTam. Si el BLOB no está comprimido, tamañoActual será igual a descompTam.
Ejemplos
1. Vea los ejemplos de los comandos COMPRESS BLOB y EXPAND BLOB.
2. 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.")
Ver también