COMPRESS BLOB

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 6.5.3 (Geändert)


COMPRESS BLOB (Blob{; Komprimierung})

ParameterTypBeschreibung
BlobBLOBZu komprimierendes BLOB
KomprimierungNumerischWenn angegeben:
1, komprimiert so kompakt wie möglich
2, komprimiert so schnell wie möglich

Beschreibung

Der Befehl COMPRESS BLOB komprimiert Blob mit dem internen Komprimierungsalgorithmus von 4D. Dieser Befehl komprimiert nur BLOBs, die größer als 255 Bytes sind.

Mit dem optionalen Parameter Komprimierung legen Sie fest, wie das BLOB komprimiert wird:

Übergeben Sie 1, wird das BLOB so kompakt wie möglich komprimiert. Die Komprimierungsgeschwindigkeit sowie die Operationen zum Entkomprimieren werden dabei nicht berücksichtigt.

Übergeben Sie 2, wird das BLOB so schnell wie möglich komprimiert bzw. entkomprimiert. Die Komprimierungsrate wird dabei nicht berücksichtigt , d.h das komprimierte BLOB ist größer.

Übergeben Sie einen anderen Wert oder geben Sie den Parameter nicht an, wird das BLOB mit dem Modus 1 so weit wie möglich komprimiert.

4D bietet folgende vordefinierten Konstanten:

KonstanteTypWert
Compact compression modeLange Ganzzahl1
Fast compression modeLange Ganzzahl2

Nach dem Aufruf hat die OK Variable den Wert 1, wenn das BLOB erfolgreich komprimiert wurde. Andernfalls hat die OK Variable den Wert 0. Dann gibt es zwei Möglichkeiten:

1- Der Fehler ist unwichtig (Speicherproblem, Blobgröße). Es wird kein Fehler generiert. Die aufrufende Methode wird weiter ausgeführt.

2- Der Fehler ist wichtig, d.h. BLOB ist beschädigt. Der Fehler 10600 wird generiert. Sie können ihn mit der Projektmethode ON ERR CALL verwalten.

Mit dem Befehl EXPAND BLOB können Sie ein komprimiertes BLOB entkomprimieren.

Mit dem Befehl BLOB PROPERTIES können Sie feststellen, ob ein BLOB komprimiert ist.

Warnung: Ein komprimiertes BLOB ist weiterhin ein BLOB, Sie können also weiterhin dessen Inhalt verändern. In diesem Fall kann der Befehl EXPAND BLOB das BLOB jedoch nicht korrekt entkomprimieren.

Beispiele

1. Dieses Beispiel prüft, ob das BLOB vxMyBlob komprimiert ist, und komprimiert es gegebenenfalls:

   BLOB PROPERTIES (vxMyBlob;$vlCompressed;$vlExpandedSize;$vlCurrentSize)
   If ($vlCompressed=Is not compressed)
      COMPRESS BLOB (vxMyBlob)
   End if

Wenden Sie den Befehl COMPRESS BLOB auf ein bereits komprimiertes BLOB an, erkennt er das und führt nichts aus.


2. Dieses Beispiel wählt ein Dokument aus und komprimiert es:

   $vhDocRef := Open document ("")
   If (OK=1)
      CLOSE DOCUMENT ($vhDocRef)
      DOCUMENT TO BLOB (Document;vxBlob)
      If (OK=1)
         COMPRESS BLOB (vxBlob)
         If (OK=1)
            BLOB TO DOCUMENT (Document;vxBlob)
         End if
      End if
   End if

Referenz

BLOB PROPERTIES, EXPAND BLOB.

Systemvariablen oder Mengen

Wurde das BLOB erfolgreich komprimiert, hat die OK Variable den Wert 1; andernfalls den Wert 0.


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next