| 4D v20.1コンパイラコマンド | ||||||||||||||
|  | 
    4D v20.1
 コンパイラコマンド 
         | |||||||||||||
| C_BLOB | C_REAL | C_TEXT | 
| C_BOOLEAN | C_LONGINT | C_DATE | 
| C_POINTER | C_PICTURE | C_TIME | 
| C_OBJECT | C_VARIANT | IDLE | 
互換性に関する注意: 廃止予定のコマンド_o_C_GRAPH、_o_C_INTEGER と _o_C_STRING は今後使用されるべきではありません。
IDLE コマンド以外のこれらのコマンドは、変数を宣言し、それらを指定したデータタイプとしてキャストします。変数を宣言することによって、変数のデータタイプに 関連する曖昧さが解決されます。変数がこれらのコマンドのいずれかで宣言されていない場合には、コンパイラが変数のデータタイプを判断しようとします。 フォームで使用される変数のデータタイプは、多くの場合、コンパイラで判断するのは困難です。このため、開発者がこれらのコマンドによってフォームで使用 される変数を宣言することが特に重要です。
注: 時間を節約するために、コンパイラウインドウにあるオプションを使用し、(コンパイラメソッドと呼ばれる) 変数定義メソッドの生成や更新を行うことができます。このオプションは、データベース内で使用されるすべての変数のタイプ指定を行う変数定義メソッドを自 動作成します。
配列は変数で、コンパイルについては標準変数と同じ規則に従わなければなりません。配列の宣言命令は配列テーマ内にまとめられています。
これらの規則については、下記の節を参照してください:
以下の例は、コンパイラ用の基本的な変数宣言です:
 C_BLOB(vxMyBlob) // プロセス変数vxMyBlobはBLOB型の変数として宣言されます
 C_BOOLEAN(<>OnWindows) // インタープロセス変数<>OnWindowsはブール型の変数として宣言されます
 C_DATE($vdCurDate) // ローカル変数$vdCurDateは日付型の変数として宣言されます
 C_LONGINT(vg1;vg2;vg3) // 3つのプロセス変数vg1、vg2そしてvg3は倍長整数型の変数として宣言されます以下の例は、プロジェクトメソッドOneMethodAmongOthersにて、3つの引数を宣言しています:
 
  // OneMethodAmongOthers プロジェクトメソッド
  // OneMethodAmongOthers ( Real ; Integer { ; Long } )
  // OneMethodAmongOthers ( Amount ; Percentage { ; Ratio } )
 
 C_REAL($1) // 1番目の引数は実数
 C_INTEGER($2) // 2番目の引数は整数
 C_LONGINT($3) // 3番目の引数は倍長整数
 
  ` ...以下のCapitalize プロジェクトメソッドは、テキストの引数を受けとり、テキストの結果を返します:
  // Capitalize プロジェクトメソッド
 <p> // Capitalize ( Text ) -> Text
  // Capitalize ( Source string ) -> Capitalized string
 
 C_TEXT($0;$1)
 $0:=Uppercase(Substring($1;1;1))+Lowercase(Substring($1;2))以下のプロジェクトメソッドSEND PACKETSは、引数として時間と、可変の数のテキスト引数を受け取ります:
  ` SEND PACKETS プロジェクトメソッド
  ` SEND PACKETS ( Time ; Text { ; Text2... ; TextN } )
  ` SEND PACKETS ( docRef ; Data { ; Data2... ; DataN } )
 
 C_TIME($1)
 C_TEXT(${2})
 C_LONGINT($vlPacket)
 
 For($vlPacket;2;Count parameters)
    SEND PACKET($1;${$vlPacket})
 End for以下の例において、プロジェクトメソッドCOMPILER_Param_Predeclare28 は、コンパイル用に他のプロジェクトメソッドのシンタックスを事前に宣言しています:
  // COMPILER_Param_Predeclare28 プロジェクトメソッド
 
 C_REAL(OneMethodAmongOthers;$1) // OneMethodAmongOthers ( Real ; Integer { ; Long } )
 C_DATE(OneMethodAmongOthers;$2) ` ...
 C_LONGINT(OneMethodAmongOthers;$3) ` ...
 C_TEXT(Capitalize;255;$0;$1) // Capitalize ( String ) -> String
 C_TIME(SEND PACKETS;$1) // SEND PACKETS ( Time ; Text { ; Text2... ; TextN } )
 C_TEXT(SEND PACKETS;${2}) ` ...
									_o_C_GRAPH
									
									_o_C_INTEGER
									
									_o_C_STRING
									
									C_BLOB
									
									C_BOOLEAN
									
									C_DATE
									
									C_LONGINT
									
									C_PICTURE
									
									C_POINTER
									
									C_REAL
									
									C_TEXT
									
									C_TIME
									
									IDLE
									
	プロダクト: 4D
	テーマ: コンパイラ
	
        
        
	
	変更: 4D v15 R5
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v20)
	
	
	ランゲージリファレンス ( 4D v20.1)
	
	
	
 コメントを追加
コメントを追加