4D v16.3

BLOB PROPERTIES

Accueil

 
4D v16.3
BLOB PROPERTIES

BLOB PROPERTIES 


 

BLOB PROPERTIES ( blob ; compressé {; tailleDécompressée {; tailleCourante}} )  
Paramètre Type   Description
blob  BLOB in BLOB sur lequel vous voulez obtenir des informations
compressé  Entier long in 0 = pas de compression, 1 = interne compact, 2 = interne rapide, -1 = GZIP compact, -2 = GZIP rapide
tailleDécompressée  Entier long in Taille du BLOB décompressé en octets
tailleCourante  Entier long in Taille courante du BLOB en octets

BLOB PROPERTIES retourne des informations sur le BLOB blob.

Le paramètre compressé retourne une valeur indiquant si et comment le BLOB est compressé. Vous pouvez comparer cette valeur aux constantes suivantes, placées dans le thème BLOB :

Constante Type Valeur Comment
Compact compression mode Entier long 1 Compression interne la plus compacte (au détriment de la vitesse à laquelle la compression et la décompression sont effectuées). Méthode par défaut.
Fast compression mode Entier long 2 Compression/décompression interne la plus rapide au détriment du taux de compression (une fois compressé, le BLOB prend plus de place)
GZIP best compression mode Entier long -1 Compression GZIP la plus compacte (au détriment de la vitesse à laquelle la compression et la décompression sont effectuées)
GZIP fast compression mode Entier long -2 Compression/décompression GZIP la plus rapide (au détriment du taux de compression)
Is not compressed Entier long 0 Pas de compression

Quel que soit l'état de compression du BLOB, le paramètre tailleDécompressée retourne la taille du BLOB non compressé.

Le paramètre tailleCourante retourne la taille courante du BLOB. Si le BLOB est compressé, tailleCourante sera inférieur à tailleDécompressée. Si le BLOB n'est pas compressé, tailleCourante sera égal à tailleDécompressée.

Référez-vous aux exemples des commandes COMPRESS BLOB et EXPAND BLOB.

Lorsqu'un BLOB est compressé, la méthode projet suivante vous permet de connaître le taux de place gagnée en compressant le BLOB :

  ` Méthode projet Place gagnée par compression
  ` Place gagnée par compression (Pointeur {; Pointeur } ) -> Entier long
  ` Place gagnée par compression ( -> BLOB {; -> octetsGagnés } ) -> Pourcentage
 
 C_POINTER($1;$2)
 C_LONGINT($0;$vlCompressé;$vlTailleDécompressée;$vlTailleCourante)
 
 BLOB PROPERTIES($1->;$vlCompressé;$vlTailleDécompressée;$vlTailleCourante)
 If($vlTailleDécompressée=0)
    $0:=0
    If(Count parameters>=2)
       $2->:=0
    End if
 Else
    $0:=100-(($vlTailleCourante/$vlTailleDécompressée)*100)
    If(Count parameters>=2)
       $2->:=$vlTailleDécompressée-$vlTailleCourante
    End if
 End if

Lorsque cette méthode est placée dans votre application, vous pouvez écrire :

  ` ...
 COMPRESS BLOB(vxBlob)
 $vlPourcent:=Place gagnée par compression(->vxBlob;->vlTailleBlob)
 ALERT("La compression permet de gagner "+String(vlTailleBlob)+" octets, donc "+Chaine($vlPourcent;"#0%")+" d'espace.")



Voir aussi  

COMPRESS BLOB
EXPAND BLOB

 
PROPRIÉTÉS 

Produit : 4D
Thème : BLOB
Numéro : 536

 
HISTORIQUE 

Créé : 4D v6
Modifié : 4D v13

 
MOTS-CLÉS 

blob compression, Compression

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)