バージョン 4.2.5
 —  ファーストステップ  —

処理ルールとヘルプルーチン

処理ルールとヘルプルーチンは、マップ内のフィールドに対して定義されます。

以下の演習を完了すると、サンプルのアプリケーションは次のモジュールで構成されます(処理ルールは別のモジュールとして定義できず、常にマップの一部になります)。

Application structure

このドキュメントには次の演習が含まれています。


処理ルールの定義

ユーザーが開始名を指定せずに Enter キーを押した場合に表示するメッセージを定義します。

Start of instruction set処理ルールを定義するには

  1. [Development Functions]メニューで次のように入力して、マップエディタに戻ります。

                                                                                    
                        Code .. E    Type .. _                                      
                                     Name .. MAP01___________________________       
     
  2. 開始名の入力フィールドの最初の位置から開始して、次のように入力します。

    .P

    例:

                                                                                   
                              Start .PXXXXXXXXXXXXXXXXXXX                          
                                                                                   
                                End :XXXXXXXXXXXXXXXXXXXX                          
                                                                                   
     
  3. Enter キーを押します。

    選択したフィールドについて次の画面が表示されます。

    Variables used in current map                                               Mod
    #NAME-START(A20)                                                              U
    #NAME-END(A20)                                                                U
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
    Rule ________________________________ Field #NAME-START                        
    >                                      > + Rank 0    S      L 1     Struct Mode
    ALL    ....+....10...+....+....+....30...+....+....+....50...+....+....+....70.
      0010                                                                         
      0020                                                                         
      0030                                                                         
      0040                                                                         
      0050                                                                         
      0060                                                                         
      0070                                                                         
      0080                                                                         
      0090                                                                         
      0100                                                                         
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Mset  Exit  Test        --    -     +     Full  Sc=         Let
  4. 次の処理ルールを入力します。

    IF & = ' ' THEN
      REINPUT 'Please enter a starting name.'
      MARK *&
    END-IF

    処理ルール内のアンパサンド(&)は、フィールド名にダイナミックに置き換えられます。 この場合は、#NAME-START に置き換えられます。 #NAME-START が空白の場合は、REINPUT ステートメントで定義されたメッセージが表示されます。

    MARKREINPUT ステートメントのオプションです。 構文は MARK *fieldname です。 MARK は、REINPUT ステートメントの実行時にカーソルが置かれるフィールドを指定します。 この場合は、カーソルが #NAME-START フィールドに置かれます。

  5. [Rank]フィールドに「1」と入力します。

    Rule ________________________________ Field #NAME-START                        
    >                                      > + Rank 1    S 2    L 1     Struct Mode
    ALL    ....+....10...+....+....+....30...+....+....+....50...+....+....+....70.
      0010 IF & = ' ' THEN                                                         
      0020   REINPUT 'Please enter a starting name.'                               
      0030   MARK *&                                                               
      0040 END-IF                                                                  
      0050

    ランクにより、異なるフィールドに対するルールの処理順序が定義されます。 ランク 1 のルールはすべて最初に処理され、その後にランク 2 などが続きます。

  6. Enter キーを押して、入力内容を保存します。 次に PF3 キーを押してマップに戻ります。

    注意:
    処理ルールを再表示する場合は、コマンド .P1(ランク 1 のルールを表示)または .P*(このフィールドに定義されたすべてのルールのリストを表示)を使用する必要があります。

  7. マップをテストします。

  8. 結果の出力で、任意の開始名を入力して Enter キーを押します。

    出力画面が閉じます。

  9. マップをもう一度テストします。 名前を入力せずに、Enter キーを押します。

    処理ルールで定義したメッセージが、マップに表示されます。

  10. 出力画面を終了するには、開始名の入力を求めるフィールドに「.」(ピリオド)を入力し、Enter キーを押します。

  11. マップを Stow します(PF3 を押して[Edit Map]メニューに戻り、[Code]フィールドで「W」と入力します)。

Top of page

ヘルプルーチンの定義

ヘルプルーチンは、開始名の入力フィールドにカーソルが置かれているときにユーザーがヘルプキーを押すと表示されます。

まず、ヘルプルーチンを定義してから、それを特定のフィールドに関連付けます。

Start of instruction setヘルプルーチンを作成するには

  1. [Edit Map]メニューで PF3 キーを押して、[Development Functions]メニューに戻ります。

  2. [Development Functions]メニューの下部で、次の情報を入力して Enter キーを押します。

                        Code .. C    Type .. H                                      
                                     Name .. HLP01___________________________       
                                                                                    
    

    "C" は[Create Object]機能、"H" はオブジェクトタイプのヘルプルーチン、および "HLP01" は新しいヘルプルーチンの名前を表します。

    空のエディタが表示されます。

  3. 次のように入力します。

    WRITE 'Type the name of an employee'
    END
  4. ヘルプルーチンを格納し HLP01ます。

Start of instruction setヘルプルーチンをマップ上のフィールドに関連付けるには

  1. ヘルプルーチンを入力した画面のコマンド行で次のように入力して、マップエディタに戻ります。

    E MAP01
  2. 開始名のデータフィールドの最初の位置から開始して、次のように入力し、Enter キーを押します。

    .E

    または:
    データフィールド内の任意の場所にカーソルを置き、PF5 を押します。

    フィールドの拡張フィールド編集セクションが表示されます。

  3. [HE]フィールドで「'HLP01'」(一重引用符も含めます)と入力します。

    これは、ヘルプルーチンの保存に使用した名前です。

    Fld #NAME-START                                                 Fmt A20        
    -------------------------------------------------------------------------------
    AD= MIT'_'____     ZP=         SG=        HE= 'HLP01'______________   Rls 2    
    AL= _____          CD= __      CV= ________________________________   Mod User 
    PM= __  DF=                    DY= ______________________________              
    EM= __________________________ SB= ________________________________            
    
  4. 拡張フィールド編集セクションを終了するには、PF3 を押します。

  5. マップをテストします。

  6. 結果の出力で、開始名の入力フィールドに疑問符(?)を入力し、Enter キーを押します。

    定義したヘルプテキストが表示されます。

  7. Enter キーを押して、マップに戻ります。

  8. マップを終了するには、開始名の入力を求めるフィールドに「.」(ピリオド)を入力し、Enter キーを押します。

  9. マップを Stow します(PF3 を押して[Edit Map]メニューに戻り、[Code]フィールドで「W」と入力します)。

  10. PF3 キーを押して[Development Functions]メニューに戻ります。

次の演習「ローカルデータエリア」に進みます。

Top of page