version 6.0
LIRE PROPRIETES BLOB (blob; compressé{; tailleDécompressée{; tailleCourante}})
Paramètre | Type | Description | |
blob | BLOB | BLOB sur lequel vous voulez obtenir des | |
informations | |||
compressé | Numérique | 0 = BLOB n'est pas compressé | |
1 = BLOB compressé méthode compacte | |||
2 = BLOB compressé méthode rapide | |||
tailleDécompressée | Numérique | Taille du BLOB décompressé en octets | |
tailleCourante | Numérique | Taille courante du BLOB en octets |
Description
LIRE PROPRIETES BLOB retourne des informations sur le BLOB blob.
Le paramètre compressé vous indique si le BLOB est compressé ou non et retourne une des valeurs suivantes :
Constante | Type | Valeur |
Non compressé | Entier long | 0 |
Méthode de compression compacte | Entier long | 1 |
Méthode de compression rapide | Entier long | 2 |
Note : Les constantes ci-dessus sont fournies par 4e Dimension.
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.
Exemples
(1) Référez-vous aux exemples des commandes COMPRESSER BLOB et DECOMPRESSER BLOB.
(2) 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_POINTEUR ($1;$2) C_ENTIER LONG ($0;$vlCompressé;$vlTailleDécompressée;$vlTailleCourante) LIRE PROPRIETES BLOB ($1->;$vlCompressé;$vlTailleDécompressée;$vlTailleCourante) Si ($vlTailleDécompressée=0) $0:=0 Si (Nombre de parametres>=2) $2->:=0 Fin de si Sinon $0:=100-(($vlTailleCourante/$vlTailleDécompressée)*100) Si (Nombre de parametres>=2) $2->:=$vlTailleDécompressée-$vlTailleCourante Fin de si Fin de si
Lorsque cette méthode est placée dans votre application, vous pouvez écrire :
` ... COMPRESSER BLOB (vxBlob) $vlPourcent:=Place gagnée par compression (->vxBlob;->vlTailleBlob) ALERTE ("La compression permet de gagner "+Chaine (vlTailleBlob)+" octets, donc "+Chaine ($vlPourcent;"#0%")+" d'espace.")
Référence
COMPRESSER BLOB, DECOMPRESSER BLOB.