バージョン 6.3.3
 —  ダイアログコンポーネントリファレンス  —

ENUM-CLIENT-KEYS アクション

このドキュメントでは、次のトピックについて説明します。


説明

ダイアログまたはダイアログエレメントで現在使用されているクライアントキーを列挙します。

このアクションで返されるキーは一度に 1 つであるため、キーリスト全体を取得するためには、このアクションを繰り返し呼び出す必要があります。 返されるキーは "次" のキーですが、その基になっているのは内部列挙カーソルです。カーソルは最初はリセットされており("先頭" キーが返される)、このアクションを繰り返し呼び出すたびに暗黙で "次" のキーへ進みます。 オプションのクライアントキーパラメータを省略すると、内部列挙カーソルをいつでも明示的にリセットできます。

列挙するキーがなくなると、空(すべてブランク)のクライアントキー値が返されます。

内部列挙カーソルが現在参照しているクライアントキー/クライアント値のペアが削除されると、列挙カーソルは暗黙で "前" のキー(存在する場合)に設定されます。それ以外の場合はリセットされて、その次にこのアクションを呼び出したときの結果に影響しないようにします。 したがって、キーを列挙しながら削除することが可能です(下記の例を参照)。

上記の "先頭"、"次"、および "前" は、内部クライアントキーの順序における位置関係であり、実装に依存するため、将来の Natural バージョンで変更される可能性があります。 Natural アプリケーションがこの列挙順序に依存しないようにしてください。

詳細については、「ダイアログエレメントのクライアントデータの保存と取得」を参照してください。

Top of page

パラメータ

名前/データタイプ 説明
GUI のハンドル 入力

キーの列挙対象であるダイアログまたはダイアログエレメントのハンドル。

クライアントキー(A253) 出力(オプションのパラメータ)

指定されると、指定したダイアログまたはダイアログエレメントで使用されている次のキー(存在する場合)が設定されます。 省略されると、内部列挙カーソルがリセットされ、このアクションによって返される次のキーは "先頭" キーになります。

Response(I4) 出力

Natural エラー(該当する場合)。

例:

 
DEFINE DATA LOCAL01 
#CLIENT-KEY (A253)
...
END-DEFINE
*
/*reset enumeration cursor
PROCESS GUI ACTION ENUM-CLIENT-KEYS WITH #DLG$WINDOW GIVING *ERROR 
/* Enumerate and delete the keys in use by the dialog
REPEAT  
  PROCESS GUI ACTION ENUM-CLIENT-KEYS WITH #DLG$WINDOW #CLIENT-KEY
    GIVING *ERROR  
  IF #CLIENT-KEY <> ' '    
    /* Delete the key and associated value    
    PROCESS GUI ACTION SET-CLIENT-VALUE WITH #DLG$WINDOW #CLIENT-KEY
      GIVING *ERROR  
  END-IF 
WHILE #CLIENT-KEY <> ' '
END-REPEAT 

Top of page