ページの先頭行へ戻る
NetCOBOL V12.2 PowerCOBOL ユーザーズガイド
FUJITSU Software

7.2.3 プロパティの参照方法

プロパティの値は、MOVE、ADD、SUBTRACT、COMPUTE、IF、DISPLAYおよびEVALUATE文の7つの文を使用して参照できます。各文の記述形式を以下に示します。

MOVE文

プロパティの値を転記して、別のデータまたはプロパティへ取り出すときに使用します。

書き方

  MOVE  プロパティ  TO  受け取り側項目
記述規則
  • 受け取り側項目は、一意名またはプロパティでなければなりません。

  • CORRESPONDINGを指定することはできません。

  • その他の規則については『COBOL 文法書』を参照してください。

使用例

スタティックテキストコントロール(Static1)のフォントのサイズを、作業場所節で定義した領域(FONT-SIZE)に取り出す場合、以下のように記述します。

    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    01  FONT-SIZE   PIC S9(4) COMP-5.
        ・
    PROCEDURE       DIVISION.
        ・
        MOVE "Size" OF "Font" OF Static1 TO FONT-SIZE.

ADD文

数値をもつプロパティの値を、別のデータに加算するときに使用します。

書き方
  ADD  プロパティ  TO  {一意名[ROUNDED]}…
        [ON  SIZE  ERROR  無条件文]
        [NOT  ON  SIZE  ERROR  無条件文]
        [END-ADD]
記述規則
  • TOの前に、作用対象を複数記述することはできません。

  • GIVINGを指定することはできません。

  • CORRESPONDINGを指定することはできません。

  • その他の規則については『COBOL 文法書』を参照してください。

使用例

スクロールバーコントロール(Scroll1)の増減値(大)を、作業場所節で定義した数値項目(CURR-VALUE)に足す場合、以下のように記述します。

    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    01  CURR-VALUE  PIC S9(4) COMP-5 VALUE IS 0.
        ・
    PROCEDURE       DIVISION.
        ・
        ADD "LargeStep" OF Scroll1 TO CURR-VALUE.

SUBTRACT文

数値をもつプロパティの値を、別のデータから減算するときに使用します。

書き方
  SUBTRACT  プロパティ  FROM  {一意名[ROUNDED]}…
                  [ON  SIZE  ERROR  無条件文]
                  [NOT  ON  SIZE  ERROR  無条件文]
                  [END-SUBTRACT]
記述規則
  • FROMの前に、作用対象を複数記述することはできません。

  • GIVINGを指定することはできません。

  • CORRESPONDINGを指定することはできません。

  • その他の規則については『COBOL 文法書』を参照してください。

使用例

作業場所節で定義した数値項目(CURR-VALUE)から、スクロールバーコントロール(Scroll1)の増減値(大)を引く場合、以下のように記述します。

    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    01  CURR-VALUE  PIC S9(4) COMP-5 VALUE IS 0.
        ・
    PROCEDURE       DIVISION.
        ・
        SUBTRACT "LargeStep" OF Scroll1 FROM CURR-VALUE.

COMPUTE文

数値をもつプロパティを使って、演算するときに使用します。

書き方
  COMPUTE  受け取り側項目  =  算術式-1
記述規則
  • 算術式-1の中にプロパティを記述することができます。

  • 受け取り側項目は、一意名またはプロパティでなければなりません。

  • その他の規則については『COBOL 文法書』を参照してください。

使用例

スタティックテキストコントロール(Static1)のフォントのサイズを、コマンドボタンコントロール(Command1)のフォントのサイズより2だけ大きくする場合、以下のように記述します。

    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    PROCEDURE       DIVISION.
        ・
        COMPUTE "Size" OF "Font" OF Static1
          = "Size" OF "Font" OF Command1 + 2.

IF文

プロパティの値を使って、比較条件を判定するときに使用します。

書き方
  IF  比較条件  THEN
      {{文-1}…  |  NEXT  SENTENCE}
      {{ELSE  {文-2}…[END-IF]}|
      {ELSE  NEXT  SENTENCE}|
      {END-IF}}
記述規則
  • 比較条件の中にプロパティを使用することができます。

  • 組み合わせ比較条件を省略することはできません。

  • その他の規則については『COBOL 文法書』を参照してください。

使用例

チェックボックスコントロール(Check1)がチェック状態であれば、イメージコントロール(Image1)に"IMAGE-BMP"というリソース名で登録されたイメージを表示する場合、以下のように記述します。

チェック状態でなければ、何も表示しません。

    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    01  CHECK-ON    PIC S9(4) COMP-5 VALUE IS +1.
        ・
    PROCEDURE       DIVISION.
        ・
        IF "Value" OF Check1 = CHECK-ON THEN
          MOVE "IMAGE-BMP" TO "ImageName" OF Image1
        END-IF.

DISPLAY文

少量のデータの内容をハードウェア装置に転送し、表示するときに使用します。

書き方
  DISPLAY  プロパティ …  [UPON  呼び名]
記述規則

DISPLAY文の記述規則については『COBOL 文法書』を参照してください。

使用例

COBOLのコンソールウィンドウに、イメージコントロール(Image1)に表示されているイメージ名を表示する場合、以下のように記述します。

    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    PROCEDURE       DIVISION.
        ・
        DISPLAY NC"現在表示しているイメージは "
                "ImageName" OF Image1 NC"です。".

EVALUATE文

プロパティの内容を、複数の条件で評価するときに使用します。

書き方
  EVALUATE  プロパティ
  WHEN          選択対象
    …
  WHEN          選択対象
    …
    …
  END-EVALUATE
記述規則
  • 選択主体としてプロパティを使用できます。ALSOを指定することはできません。

  • その他の規則については『COBOL 文法書』を参照してください。

使用例

テキストボックスコントロール(Text1)に入力された色名によって、スタティックテキストコントロール(Static1)に表示される文字列を変更する場合、以下のように記述します。

色名として扱えない文字列が入力された場合は、"色無効"と表示します。

    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    PROCEDURE       DIVISION.
        ・
        EVALUATE "Text" OF Text1
        WHEN   "BLACK"
          MOVE NC"黒色"   TO "Caption" OF Static1
        WHEN   "RED"
          MOVE NC"赤色"   TO "Caption" OF Static1
        WHEN   "YELLOW"
          MOVE NC"黄色"   TO "Caption" OF Static1
        WHEN   OTHER
          MOVE NC"色無効" TO "Caption" OF Static1
        END-EVALUATE.