Version 6.0
BLOB PROPERTIES (Blob; Komprimiert{; GrößeUnkomprimiert{; AktuelleGröße}})
Parameter | Typ | Beschreibung | |
Blob | BLOB | BLOB, über das Angaben benötigt werden | |
Komprimiert | Numerisch | 0 = BLOB unkomprimiert | |
1 = BLOB kompakt komprimiert | |||
2 = BLOB schnell komprimiert | |||
GrößeUnkomprimiert | Numerisch | Größe des unkomprimierten BLOB | |
(in Bytes) | |||
AktuelleGröße | Numerisch | Aktuelle Größe des BLOB (in Bytes) |
Beschreibung
Der Befehl BLOB PROPERTIES gibt Informationen über Blob zurück.
Der Parameter Komprimiert zeigt an, ob ein BLOB komprimiert bzw. unkomprimiert ist und gibt einen der folgenden Werte zurück. 4th Dimension bietet folgende vordefinierten Konstanten.
Konstante | Typ | Wert |
Is not compressed | Lange Ganzzahl | 0 |
Compact compression mode | Lange Ganzzahl | 1 |
Fast compression mode | Lange Ganzzahl | 2 |
Der Parameter Größeunkomprimiert gibt, unabhängig vom Status des BLOB die Größe des unkomprimierten BLOB an.
Der Parameter AktuelleGröße gibt die aktuelle Größe des BLOB zurück. Bei komprimiertem BLOB ist das der Wert AktuelleGröße minus GrößeUnkomprimiert. Bei unkomprimiertem BLOB erhalten Sie immer den Wert AktuelleGröße ist gleich GrößeUnkomprimiert.
Beispiel
1. Siehe Beispiele zu den Befehlen COMPRESS BLOB und EXPAND BLOB.
2. Wurde ein BLOB komprimiert, erhält folgende Projektmethode den durch die Komprimierung gewonnenen Platz in Prozent:
` Projektmethode Space saved by compression ` Space saved by compression (Zeiger {; Zeiger } ) -> Lang ` Space saved by compression ( -> BLOB {; -> gewonnene Bytes } ) -> Prozent C_POINTER ($1;$2) C_LONGINT ($0;$vlCompressed;$vlExpandedSize;$vlCurrentSize) BLOB PROPERTIES ($1->;$vlCompressed;$vlExpandedSize;$vlCurrentSize) If ($vlExpandedSize=0) $0:=0 If (Count parameters>=2) $2->:=0 End if Else $0:=100-(($vlCurrentSize/$vlExpandedSize)*100) If (Count parameters>=2) $2->:=$vlExpandedSize-$vlCurrentSize End if End if
Diese Methode in Ihrer Anwendung können Sie folgendermaßen einsetzen:
` ... COMPRESS BLOB (vxBlob) $vlPercent:=Space saved by compression (->vxBlob;->vlBlobSize) ALERT ("Die Komprimierung spart "+String (vlBlobSize)+" Bytes, so "+String ($vlPercent;"#0%")+ " an Platz.")
Referenz