COMPRESSER BLOB

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 6.5.3 (Modifiée)


COMPRESSER BLOB (blob{; compression})

ParamètreTypeDescription
blobBLOBBLOB à compresser
compressionNumériqueSi ce paramètre est passé :
1= taux de compression maximum
2 = vitesse de compression maximum

Description

COMPRESSER BLOB compresse le BLOB blob à l'aide de l'algorithme de compression interne de 4e Dimension.

Le paramètre optionnel compression vous permet de fixer la façon dont le BLOB sera compressé :

Si vous passez 1, le BLOB est compressé de manière aussi compacte que possible, au détriment de la vitesse à laquelle la compression et la décompression sont effectuées.

Si vous passez 2, le BLOB est compressé de manière aussi rapide que possible (et sera décompressé aussi vite que possible) au détriment du taux de compression (une fois compressé, le BLOB prend plus de place).

Si vous passez une autre valeur ou si vous omettez ce paramètre, le BLOB est compressé de manière aussi compacte que possible (méthode de compression 1).

4e Dimension fournit les constantes suivantes:

ConstanteTypeValeur
Méthode de compression compacteEntier long1
Méthode de compression rapideEntier long2

Note : La commande compresse uniquement les BLOBs de taille supérieure ou égale à 255 octets.

Après que cette commande ait été appelée, la variable système OK prend la valeur 1 si le BLOB a été correctement compressé.

Si la compression n'a pu être effectuée, OK prend la valeur 0. Dans ce cas, si l'erreur provient du fait que la taille du BLOB est inférieure à 255 octets ou que la mémoire disponible est insuffisante pour effectuer l'opération, aucune erreur n'est générée, la méthode poursuit son exécution.

En revanche, si l'erreur est causée par un problème plus important (le BLOB est endommagé), l'erreur -10600 est générée. Cette erreur, relativement rare, peut être interceptée à l'aide d'une méthode installée par la commande APPELER SUR ERREUR.

Lorsqu'un BLOB a été compressé, vous pouvez le décompresser à l'aide de la commande DECOMPRESSER BLOB.

Pour savoir si un BLOB a été compressé, utilisez la commande LIRE PROPRIETES BLOB.

ATTENTION : Un BLOB compressé est toujours un BLOB, rien ne vous empêche donc de modifier son contenu. Cependant, si vous le modifiez, la commande DECOMPRESSER BLOB ne pourra plus décompresser correctement le BLOB.

Exemples

(1) L'exemple suivant teste si le BLOB vxMonBlob est compressé et, sinon, le compresse :

   LIRE PROPRIETES BLOB (vxMonBlob;$vlCompressé;$vlTailleDécompressée;$vlTailleCourante)
   Si ($vlCompressé=Non compressé)
      COMPRESSER BLOB (vxMonBlob)
   Fin de si

Notez que si vous appliquez COMPRESSER BLOB à un BLOB déjà compressé, la commande le détecte et ne fait rien.

(2) L'exemple suivant vous permet de sélectionner un document puis de le compresser :

   $vhDocRef := Ouvrir document ("")
   Si (OK=1)
      FERMER DOCUMENT ($vhDocRef)
      DOCUMENT VERS BLOB (Document;vxBlob)
      Si (OK=1)
         COMPRESSER BLOB (vxBlob)
         Si (OK=1)
            BLOB VERS DOCUMENT (Document;vxBlob)
         Fin de si
      Fin de si
   Fin de si

Référence

DECOMPRESSER BLOB, LIRE PROPRIETES BLOB.

Variables et ensembles système

La variable OK prend la valeur 1 si le BLOB a été correctement compressé, sinon elle prend la valeur 0.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant