4D v16.34Dプログラミング言語 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
4Dプログラミング言語
|
4D v15以降のメソッド/式でのコード例(デフォルトモード、全バージョン) | a:=12.50 | |
b:=!2013-12-31! | ||
Current date | ||
4D v14 または 4D v15 (設定がチェックされている、例えばUS版など) | a:=12.50 | |
b:=!12/31/2013! | ||
Current date | ||
4D v14 または 4D v15 (設定がチェックされているフランス語版) | a:=12,50 | |
b:=!31/12/2013! | ||
Date du jour |
注: 設定がチェックされているとき、実数と日付フォーマットはシステム設定によって変わります。
4Dのデータベースで使用するデータには、いくつかの種別があります。これらのデータ種別を“データタイプ”と呼びます。
4Dには、以下のような7つの基本的なデータタイプ(文字、数字、日付、時間、ブール、ピクチャーBLOB)とポインタがあります。
注:これらのデータタイプに格納されるデータは、4D Design Referenceの中で説明されている4Dフィールドの中に格納されるデータと一致します。
データタイプの中で文字列タイプと数値タイプは、複数の類似するフィールドタイプに対応する点に注意してください。プログラミング言語でこれらのタ イプのフィールドを操作する場合、プログラミング言語が自動的にサポートするデータタイプにデータを変換します。例えば、整数フィールドを使用すると、自 動的に数値として扱います。つまり、プログラミング言語として使用する場合は、類似するフィールドタイプと厳密に区別する必要はありません。
しかし、プログラミング言語を使用する場合は、異なるデータタイプと混同しないようにすることは重要です。“ABC”を日付フィールドに格納しても 意味がないように、日付として使用する変数に“ABC”を格納することも意味がありません。4Dは、実行したことをできるだけ有効にしようとします。例え ば、日付に数値を加算した場合は、日付に日数を加算したいものと認識します。しかし、日付に文字列を加算した場合には、4Dはその操作に意味を持たないこ とをユーザに警告します。
あるタイプとしてデータを格納したものを、別のタイプとして使用する場合があります。
4Dのプログラミング言語には、あるタイプから別のタイプへ変換するためのコマンドが用意されています。
例えば、数値で始まり、“abc”等の文字で終了する部品番号を作成するような場合、以下のように記述することができます。
[Products]Part Number:=String(Number)+"abc"
数値が17であれば、[Prosucts]PartNumberに“17abc”という文字列が代入されます。
プログラミング言語を使用する際に、データのみを必要とする場合は非常に稀です。
データを加工、またはそれを何らかの目的のために使用することがほとんどです。例えば、演算子を使用して2つのデータから1つの新しいデータを生成する場合です。1+2は2つの数値を加算(演算子+)して、3という結果を返します。以下に、よく知られている4つの演算子を示します。
演算子 | オペレーション | 例 |
+ | 加算(足し算) | 1 + 2の結果は3 |
? | 減算(引き算) | 3 ? 2の結果は1 |
* | 乗算(かけ算) | 2 * 3の結果は6 |
/ | 除算(割り算) | 6 / 2の結果は3 |
数値演算子は、使用可能な演算子のうちの1つのタイプにすぎません。4Dは、数値、テキスト、日付、ピクチャ等、異なるタイプのデータを扱うために、各データタイプに対する演算を実行するための演算子を備えています。
同じ記号でも処理を実行するデータタイプによって、異なる意味に使用される場合があります。例えば、プラス記号(+)は下記のように、各データタイプによって異なる演算を実行します。
データタイプ | オペレーション | 例 |
数値 | 加算(足し算) | 1 + 2 は数値を加算し、結果として3になります。 |
文字 | 連結(結合) | “みなさん” + “こんにちは”連結(結合)して“みなさんこんにちは”になります。 |
日付と数値 | 日付の加算 | !2006/12/4! + 20 は、2006年12月4日に20日を加算し、2006年12月24日になります。 |
式は、値を返します。実際に、プログラミング言語として使用している場合は、常に式を使用します。式は、“フォーミュラ”と呼ぶこともあります。
式は、コマンド、演算子、変数、フィールド等プログラミングのほとんどの部分で使用します。式により、ステートメント(メソッドの1文や1行)を構成します。必要に応じて、メソッドの任意の場所に式を使用することができます。
式が単独で使われることはほとんどありませんが、単独で使用できる場合がいくつかあります。
数値の4または文字列の“こんにちは”等の定数だけで構成された式の値は、常に一定で、決して変わることはありません。
演算子を使用すると、式でさまざまなことを実行することができます。前節で、演算子を使用する式を既に紹介しました。例えば、4+2は加算演算子を使用した式で2つの数値を加算し、結果として6を返します。
データタイプによって、以下の8つのタイプの式を使用することができます。
以下の表はタイプの式ごとに例を示します。
式 | タイプ | 説明 |
“こんにちは” | 文字 | これは文字列定数“こんにちは”です。 文字列定数であることを表すために二重引用符が必要です。 |
“こんにちは”+“みなさん” | 文字 | 二つの文字列“こんにちは”と“みなさん”は+演算子により結合され“こんにちはみなさん”を返します。 |
[People]Name+“様” | 文字 | 二つの文字列の結合です。 [People]Nameフィールドと文字列“様”が結合されます。フィールドの値が“小林”の場合、“小林様”を返します。 |
Uppercase (“smith”) | 文字 | この式はUppercase 関数を使用しています。Uppercase 関数は文字列“smith”を英大文字に変換します。そして“SMITH”を返します。 |
4 | 数値 | これは数値定数 4です。 |
4 * 2 | 数値 | 二つの数値の4と2の乗算です。乗算オペレータの(*)を使用しています。数値の8を返します。. |
MyButton | 数値 | これはボタンの名前(変数名)です。 ボタンの現在の値を数値で返します。クリックされた場合に1、それ以外では0(ゼロ)を返します。 |
!06/12/24!または!2006/12/24! | 日付 | この式は日付定数で2006年12月24日を表します。 |
Current date + 30 | 日付 | これは日付を計算しています。“Current date ”関数は現在の日付を返します。現在の日付に30日を加えた新しい日付を返します。 |
?8:05:30? | 時間 | これは時間定数で、8時5分30秒を表します。 |
?2:03:04? + ?1:02:03? | 時間 | これは二つの時間の足し算を行い、3時5分7秒を返します。 |
True | ブール | これはブール値のTRUE(真)を返します。 |
10 # 20 | ブール | これは二つの数値の論理比較です。#記号は、“等しくない”を表します。10と20は “等しくない”のでTRUE(真)を返します。 |
“ABC” = “XYZ” | ブール | これは文字列の論理比較です。文字列は等しくないのでFALSE(偽)を返します。 |
MyPicture + 50 | ピクチャ | この式はMy Picture変数に入っているピクチャを右に50ピクセル移動したピクチャを返します。 |
->[People]Name | ポインタ | この式は[People]Nameフィールドのポインタを返します。 |
Table (1) | ポインタ | このコマンドは一番目に定義されたテーブルのポインタを返します。 |
JSON Parse(MyString) | オブジェクト | このコマンドは(適切なフォーマットであった場合)MyStringをオブジェクトとして返します |
プロダクト: 4D
テーマ: プログラミング言語の構成要素
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)