INTEGER TO BLOB

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 6.0


INTEGER TO BLOB (integer; blob; byteOrder{; offset | *})

引数説明
integer数値BLOBに書き込む整数値
blobBLOB整数値を受け取るBLOB
byteOrder数値0  Native byte ordering
1  Macintosh byte ordering
2  PC byte ordering
offset | *変数 | **でない場合、書き込み後の新しいオフセット

説明

INTEGER TO BLOB コマンドは、blobに2バイトのinteger値を書き込みます。

byteOrder引数は、2バイト整数値が書き込まれる際のバイトオーダーを決定します。4Dが提供する以下の定義済み定数のうち、いずれか1つを渡します:

定数
Native byte ordering倍長整数0
Macintosh byte ordering倍長整数1
PC byte ordering倍長整数2

プラットフォーム独立性に関する注意: MacintoshとPCプラットフォーム間でBLOBを交換する場合、このコマンドを使用する際のバイトスワップの管理は開発者に任されています。

オプションの * 引数を渡すと、2バイト整数値はBLOBの最後に追加され、BLOBサイズはそれに従い拡張されます。オプションの * 引数を使用することで、BLOBがメモリに収まる限り、整数, 倍長整数, 実数 あるいは テキスト値 (他のBLOBコマンド参照) をBLOBに連続して格納できます。

オプション引数 * やoffset変数引数を指定しない場合、2バイトの整数値はBLOBの最初に格納され、それ以前の内容を上書きします。これに合わせてBLOBのサイズも調整されます。

offset変数引数を渡した場合、2バイト整数値はBLOB内のオフセット(ゼロから開始)に書き込まれます。2バイトの整数の値を書き込む位置に関わらず、BLOBのサイズは渡した位置に従って(必要に応じてさらに最大2バイトまで)増加します。現在書き込んでいるバイト以外の新しく割り当てられるバイトは、ゼロに初期化されます。

呼び出し後、offset変数引数は、書き込まれたバイト数分だけインクリメントされます。したがって、同じoffset変数引数を別のBLOB書き込みコマンドにも使用し、別の値をBLOBに追加できます。

例題

1. 以下のコードを実行すると:

   INTEGER TO BLOB (0x0206;vxBlob;Native byte ordering)

vxBlobのサイズは2バイトになります。

・Power PCプラットフォーム: vxBlob{0} = $02vxBLOB{1} = $06

・Intelプラットフォーム: vxBLOB{0} = $06vxBLOB{1} = $02

2. 以下のコードを実行すると:

   INTEGER TO BLOB (0x0206;vxBlob;Macintosh byte ordering)

vxBlobのサイズは2バイトになります。

・すべてのプラットフォーム: vxBLOB{0} = $02vxBLOB{1} = $06

3. 以下のコードを実行すると:

   INTEGER TO BLOB (0x0206;vxBlob;PC byte ordering)

vxBlobのサイズは2バイトになります。

・すべてのプラットフォーム: vxBLOB{0} = $06vxBLOB{1} = $02

4. 以下のコードを実行すると:

   SET BLOB SIZE (vxBlob;100)
   INTEGER TO BLOB (0x0206;vxBlob;PC byte ordering;*)

vxBlobのサイズは102バイトになります。

・すべてのプラットフォーム: vxBLOB{100} = $06vxBLOB{101} = $02

・BLOBの他のバイトは変更されない

5. 以下のコードを実行すると:

   SET BLOB SIZE (vxBlob;100)
   vlOffset:=50
   INTEGER TO BLOB (0x0206;vxBlob;Macintosh byte ordering;vlOffset)

vxBlobのサイズは100バイトになります。

・すべてのプラットフォーム: vxBLOB{50} = $02vxBLOB{51} = $06

・BLOBの他のバイトは変更されない

・変数vlOffsetは2インクリメントされ52となる

参照

BLOB to integer, BLOB to longint, BLOB to real, BLOB to text, LONGINT TO BLOB, REAL TO BLOB, TEXT TO BLOB.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次