| 4D v20.1TEXT TO BLOB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v20.1
 TEXT TO BLOB 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TEXT TO BLOB ( text ; BLOB {; textFormat {; offset | *}} ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| text | 文字 |   | BLOBに書き込むテキスト | |||||
| BLOB | BLOB |   | テキストを受け取るBLOB | |||||
| textFormat | 倍長整数 |   | テキストのフォーマットと文字セット | |||||
| offset | * | 変数, 演算子 |   | BLOB内のオフセット (バイト単位) または値を追加する場合 * | |||||
|   | *でない場合、書き込み後の新しいオフセット | |||||||
TEXT TO BLOBコマンドはテキスト値 textをBLOB blobに書き込みます。
textFormat 引数を使用して、書き込むテキスト値の内部フォーマットと文字セットを指定できます。これを行うには、BLOBテーマの以下の定数のうちいずれかをtextFormat 引数に渡します:
| 定数 | 型 | 値 | 
| Mac C string | 倍長整数 | 0 | 
| Mac Pascal string | 倍長整数 | 1 | 
| Mac text with length | 倍長整数 | 2 | 
| Mac text without length | 倍長整数 | 3 | 
| UTF8 C string | 倍長整数 | 4 | 
| UTF8 text with length | 倍長整数 | 5 | 
| UTF8 text without length | 倍長整数 | 6 | 
Notes:
これらのフォーマットについて説明します:
| テキストフォーマット | 説明と例題 | |
| C string | テキストはNULL文字 (ASCIIコード $00)で終了する | |
| UTF8 | "" --> $00 | |
| "Café" --> $43 61 66 C3 A9 00 | ||
| Mac | "" --> $00 | |
| "Café" --> $43 61 66 8E 00 | ||
| Pascal string | テキストの前に1バイトのテキスト長が置かれる | |
| UTF8 | - | |
| - | ||
| Mac | "" --> $00 | |
| "Café" --> $04 43 61 66 8E | ||
| Text with length | テキストの前に4バイト (UTF8) または2バイト (Mac) のテキスト長が置かれる | |
| UTF8 | "" --> $00 00 00 00 | |
| "Café" --> $00 00 00 05 43 61 66 C3 A9 | ||
| Mac | "" --> $00 00 | |
| "Café" --> $00 04 43 61 66 8E | ||
| Text without length | テキストはその文字だけで構成される | |
| UTF8 | "" --> データなし | |
| "Café" --> $43 61 66 C3 A9 | ||
| Mac | "" --> データなし | |
| "Café" --> $43 61 66 8E | 
オプションの * 引数を渡すと、テキストはBLOBの最後に追加され、BLOBサイズはそれに従い拡張されます。オプションの * 引数を使用することで、BLOBがメモリに収まる限り、整数, 倍長整数, 実数 あるいは テキスト値 (他のBLOBコマンド参照) をBLOBに連続して格納できます。
オプション引数 * やoffset変数引数を指定しない場合、テキストはBLOBの最初に格納され、それ以前の内容を上書きします。これに合わせてBLOBのサイズも調整されます。
offset変数引数を渡した場合、テキストはBLOB内のオフセット(ゼロから開始)に書き込まれます。テキストを書き込む位置に関わらず、BLOBのサイズは渡した位置に従って(必要に応じてさらにテキストのサイズまで)増加します。現在書き込んでいるバイト以外の新しく割り当てられるバイトは、ゼロに初期化されます。
呼び出し後、offset変数引数は、書き込まれたバイト数分だけインクリメントされます。したがって、同じoffset変数引数を別のBLOB書き込みコマンドにも使用し、別の値をBLOBに追加できます。
互換性に関する注意: このコマンドは引数として渡されたBlob を変更するため、Blob オブジェクト(4D.Blob 型)はサポートしません。developer.4d.com でのの Passing blobs and blob objects to 4D commands のページを参照して下さい。
 SET BLOB SIZE(vxBlob;0)
 C_TEXT(vtValue)
 vtValue:="Cafe" ` vtValue長さは4バイト
 TEXT TO BLOB(vtValue;vxBlob;Mac C string) ` BLOBのサイズは5 bytes
 TEXT TO BLOB(vtValue;vxBlob;Mac Pascal string) ` BLOBのサイズは5 bytes
 TEXT TO BLOB(vtValue;vxBlob;Mac text with length) ` BLOBのサイズは6 bytes
 TEXT TO BLOB(vtValue;vxBlob;Mac text without length) ` BLOBのサイズは4 bytes
 TEXT TO BLOB(vtValue;vxBlob;UTF8 C string) ` BLOBのサイズは6 bytes
 TEXT TO BLOB(vtValue;vxBlob;UTF8 text with length) ` BLOBのサイズは9 bytes
 TEXT TO BLOB(vtValue;vxBlob;UTF8 text without length) ` BLOBのサイズは5 bytes
									BLOB to integer
									
									BLOB to longint
									
									BLOB to real
									
									BLOB to text
									
									CONVERT FROM TEXT
									
									INTEGER TO BLOB
									
									LONGINT TO BLOB
									
									REAL TO BLOB
									
	プロダクト: 4D
	テーマ: BLOB
	番号: 
        554
        
        
        
	
	変更: 4D v11 SQL  
Text, UTF8
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v20)
	
	ランゲージリファレンス ( 4D v20.1)
	
	
 コメントを追加
コメントを追加