| 4D v15.4BLOB PROPERTIES | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v15.4
 BLOB PROPERTIES 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BLOB PROPERTIES ( BLOB ; compressed {; expandedSize {; currentSize}} ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| BLOB | BLOB |   | 情報を取得するBLOB | |||||
| compressed | 倍長整数 |   | 0 = BLOBは圧縮されていない 1 = BLOBは圧縮率優先で圧縮されている 2 = BLOBは速度優先で圧縮されている | |||||
| expandedSize | 倍長整数 |   | 非圧縮時のBLOBのサイズ (バイト単位) | |||||
| currentSize | 倍長整数 |   | BLOBの現在のサイズ (バイト単位) | |||||
BLOB PROPERTIESコマンドは、BLOB blobに関する情報を返します。
compressed引数はBLOBが圧縮されたかどうかを示す値を返します。この値をBLOBテーマの以下の定義済定数と比較できます。
| 定数 | 型 | 値 | コメント | 
| Compact compression mode | 倍長整数 | 1 | 圧縮解凍の処理速度と引き換えに、BLOBをできるだけ小さく圧縮します。デフォルトモード。 | 
| Fast compression mode | 倍長整数 | 2 | 圧縮率と引き換えにBLOBをできるだけ速く圧縮・解凍します (圧縮されたBLOBのサイズは大きくなります)。 | 
| GZIP best compression mode | 倍長整数 | -1 | GZIP圧縮で圧縮率を優先します。 | 
| GZIP fast compression mode | 倍長整数 | -2 | GZIP圧縮で速度を優先します。 | 
| Is not compressed | 倍長整数 | 0 | 
BLOBの圧縮ステータスにかかわらず、expandedSize引数は、圧縮されていない時のBLOBのサイズを戻します。
currentSize引数は、BLOBの現在のサイズを戻します。BLOBが圧縮されている場合には、通常、expandedSizeより小さいcurrentSizeを取得します。BLOBが圧縮されていない場合には、常に、expandedSizeに等しいcurrentSizeを取得します。
COMPRESS BLOBおよびEXPAND BLOBの例を参照。
BLOBが圧縮された後、以下のプロジェクトメソッドは圧縮できたメモリ空間の割合を返します:
  ` Space saved by compression プロジェクトメソッド
  ` Space saved by compression (Pointer {; Pointer } ) -> Long
  ` Space saved by compression ( -> BLOB {; -> savedBytes } ) -> Percentage
 
 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このメソッドがアプリケーションに追加された後は、これを以下のように使用できます:
  ` ...
 COMPRESS BLOB(vxBlob)
 $vlPercent:=Space saved by compression(->vxBlob;->vlBlobSize)
 ALERT("The compression saved "+String(vlBlobSize)+" bytes, so "+String($vlPercent;"#0%")+
 " of space.")
	プロダクト: 4D
	テーマ: BLOB
	番号: 
        536
        
        
        
	
	初出: 4D v6
	変更: 4D v13
blob compression, Compression
	
	
	
	
	ランゲージリファレンス ( 4D v15)
	
	
	
	
	ランゲージリファレンス ( 4D v15.4)
	
	
	
	
	ランゲージリファレンス ( 4D v15.3)
	
	
 コメントを追加
コメントを追加