4D v16.3

LONGINT TO BLOB

ホーム

 
4D v16.3
LONGINT TO BLOB

LONGINT TO BLOB 


 

LONGINT TO BLOB ( longint ; BLOB ; byteOrder {; offset | *} )  
引数   説明
longint  倍長整数 in BLOBに書き込む倍長整数値
BLOB  BLOB in 倍長整数値を受け取るBLOB
byteOrder  倍長整数 in 0 Native byte ordering 1 Macintosh byte ordering 2 PC byte ordering
offset | *  変数, 演算子 in BLOB内のオフセット (バイト単位) または値を追加する場合 *
in *でない場合、書き込み後の新しいオフセット

説明   

LONGINT TO BLOB コマンドは、blobに4バイトのlongint値を書き込みます。

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

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

プラットフォーム独立性に関する注意

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

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

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

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

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

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

 LONGINT TO BLOB(0x01020304;vxBlob;Native byte ordering)
  • vxBlobのサイズは4バイトになります。
  • Power PCプラットフォーム: vxBLOB{0}=$01, vxBLOB{1}=$02, vxBLOB{2}=$03, vxBLOB{3}=$04
  • Intelプラットフォーム: vxBLOB{0}=$04, vxBLOB{1}=$03, vxBLOB{2}=$02, vxBLOB{3}=$01

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

 LONGINT TO BLOB(0x01020304;vxBlob;Macintosh byte ordering)
  • vxBlobのサイズは4バイトになります。
  • すべてのプラットフォーム: vxBLOB{0}=$01, vxBLOB{1}=$02, vxBLOB{2}=$03, vxBLOB{3}=$04

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

 LONGINT TO BLOB(0x01020304;vxBlob;PC byte ordering)
  • vxBlobのサイズは4バイトになります。
  • すべてのプラットフォーム: vxBLOB{0}=$04, vxBLOB{1}=$03, vxBLOB{2}=$02, vxBLOB{3}=$01

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

 SET BLOB SIZE(vxBlob;100)
 LONGINT TO BLOB(0x01020304;vxBlob;PC byte ordering;*)
  • vxBlobのサイズは104バイトになります。
  • すべてのプラットフォーム: vxBLOB{100}=$04, vxBLOB{101}=$03, vxBLOB{102}=$02, vxBLOB{103}=$01
  • BLOBの他のバイトは変更されない

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

 SET BLOB SIZE(vxBlob;100)
 vlOffset:=50
 LONGINT TO BLOB(0x01020304;vxBlob;Macintosh byte ordering;vlOffset)
  • vxBlobのサイズは100バイトになります。
  • すべてのプラットフォーム: vxBLOB{50}=$01, vxBLOB{51}=$02, vxBLOB{52}=$03, vxBLOB{53}=$04
  • BLOBの他のバイトは変更されない
  • 変数vlOffsetは4インクリメントされ54となる



参照 

BLOB to integer
BLOB to longint
BLOB to real
BLOB to text
INTEGER TO BLOB
REAL TO BLOB
TEXT TO BLOB

 
プロパティ 

プロダクト: 4D
テーマ: BLOB
番号: 550

This command can be run in preemptive processes

 
履歴 

初出: 4D v6

 
タグ 

Longint

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)