4D v15.4

BLOB PROPERTIES

Accueil

 
4D v15.4
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
GZIP méthode de compression compacte 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 méthode de compression rapide Entier long -2 Compression/décompression GZIP la plus rapide (au détriment du taux de compression)
Méthode de compression compacte 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.
Méthode de compression rapide 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)
Non compressé 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 v15)
4D - Langage ( 4D v15.4)
4D - Langage ( 4D v15.3)