Page History
...
リポジトリからフォームにフィールドをドラッグすると、フィールドのビジュアライゼーションが作成されます。これを試すために、フィールド#SALARYをフォームにドラッグします。フィールドのこの定義が作成されます。
DEFINE_
...
COM class(#SALARY.Visual)
...
name(#SALARY)
...
ここで、クラスが#SALARY.Visualであることに注意してください。Visualクラスは、値を表示し、ユーザーの入力を受け入れるコンポーネントを作成します。エディターの[詳細]タブで、Visualクラスのすべてのプロパティを見ることができます。大部分は、フィールドが表示される方法を制御します。
今度は、クラスの名前からVisualの修飾子を削除します。
DEFINE_
...
COM class(#SALARY)
...
name(#SALARY)
...
この変更されたステートメントは、#SALARYのデータ・クラスのコンポーネントを定義するようになりました。フィールドは、フォームに表示されなくなります(ビジュアル表示されていないため)。データ・クラスのコンポーネントは、コンポーネントの値を記述するだけです。つまり、コンポーネントの基本的な特性(データ・タイプ、長さ、小数点など)です。
エディターの[詳細]タブで、#SALARYデータ・クラスのプロパティを見ることができます。#SALARY.Visualクラスと比較すると、プロパティの数が非常に少ないことに注目してください。
データ・クラスの使用
データ・クラス・コンポーネントを使用すると、以下のことができます。
...
データ・クラス・コンポーネントをリポジトリに登録されているフィールドに基づいて定義できます。以下は、自分のデータ・クラス・コンポーネントを定義する方法の例です。
DEFINE_
...
COM class(#GIVENAME)
...
name(#USER_GIVENAME)
...
DEFINE_
...
COM class(#EMPNO)
...
name(#LAST_EMPNO)
...
DEFINE_
...
COM class(#SALARY)
...
name(#SALARY)
...
DEFINE_
...
COM class(#SALARY)
...
name(#OLD_SALARY)
...
DEFINE_
...
COM class(#SALARY)
...
name(#NEW_SALARY)
...
以下のようにコマンドを使用してコンポーネントを操作します。
...
SET com(#SALARY)
...
value(34000.56)
...
SET com(#OLD_SALARY)
...
value(12567.45)
...
SET com(#NEW_SALARY)
...
value(#OLD_SALARY.Value)
...
IF cond('#SALARY.
...
Value <= #OLD_SALARY.Value')
上の#SALARY、#OLD_SALARY、および#NEW_SALARYは、すべて#SALARYクラスのコンポーネントです。クラス定義は、タイプ、長さ、小数部の桁数などを定義します。
...
例えば、コード内の文字列変数を定義するには、以下のようにprimitiveの英数字変数に基づいて#MYSTRINGコンポーネントを定義します。
DEFINE_
...
COM class(#PRIM_ALPH)
...
name(#MYSTRING)
それからこのコンポーネントをコードで使用します。
...
SET com(#MYSTRING)
...
value(#EMPNO)
同様に、コード内で数値の変数を定義するには、以下のようにprimitiveの数値データ・クラスに基づいて#MYNUMBERコンポーネントを定義します。
DEFINE_
...
COM class(#PRIM_NMBR)
...
name(#MYNUMBER)
...
primitiveデータ・クラスは、「2.21 プロパティ・シート」の「2.21.2 ピックリスト」を作成するなど特別な使用法もあります。

