Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

リポジトリからフォームにフィールドをドラッグすると、フィールドのビジュアライゼーションが作成されます。これを試すために、フィールド#SALARYをフォームにドラッグします。フィールドのこの定義が作成されます。

     DEFINE_

...

COM class(#SALARY.Visual)

...

 name(#SALARY)

...

ここで、クラスが#SALARY.Visualであることに注意してください。Visualクラスは、値を表示し、ユーザーの入力を受け入れるコンポーネントを作成します。エディターの[詳細]タブで、Visualクラスのすべてのプロパティを見ることができます。大部分は、フィールドが表示される方法を制御します。

今度は、クラスの名前からVisualの修飾子を削除します。

     DEFINE_

...

COM class(#SALARY)

...

 name(#SALARY)

...

この変更されたステートメントは、#SALARYのデータ・クラスのコンポーネントを定義するようになりました。フィールドは、フォームに表示されなくなります(ビジュアル表示されていないため)。データ・クラスのコンポーネントは、コンポーネントの値を記述するだけです。つまり、コンポーネントの基本的な特性(データ・タイプ、長さ、小数点など)です。

エディターの[詳細]タブで、#SALARYデータ・クラスのプロパティを見ることができます。#SALARY.Visualクラスと比較すると、プロパティの数が非常に少ないことに注目してください。

Image RemovedImage Added

データ・クラスの使用

データ・クラス・コンポーネントを使用すると、以下のことができます。

...

データ・クラス・コンポーネントをリポジトリに登録されているフィールドに基づいて定義できます。以下は、自分のデータ・クラス・コンポーネントを定義する方法の例です。

     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 ピックリスト」を作成するなど特別な使用法もあります。