このドキュメントでは、次のトピックについて説明します。
ダイアログまたはダイアログエレメントで現在使用されているクライアントキーを列挙します。
このアクションで返されるキーは一度に 1 つであるため、キーリスト全体を取得するためには、このアクションを繰り返し呼び出す必要があります。 返されるキーは "次" のキーですが、その基になっているのは内部列挙カーソルです。カーソルは最初はリセットされており("先頭" キーが返される)、このアクションを繰り返し呼び出すたびに暗黙で "次" のキーへ進みます。 オプションのクライアントキーパラメータを省略すると、内部列挙カーソルをいつでも明示的にリセットできます。
列挙するキーがなくなると、空(すべてブランク)のクライアントキー値が返されます。
内部列挙カーソルが現在参照しているクライアントキー/クライアント値のペアが削除されると、列挙カーソルは暗黙で "前" のキー(存在する場合)に設定されます。それ以外の場合はリセットされて、その次にこのアクションを呼び出したときの結果に影響しないようにします。 したがって、キーを列挙しながら削除することが可能です(下記の例を参照)。
上記の "先頭"、"次"、および "前" は、内部クライアントキーの順序における位置関係であり、実装に依存するため、将来の Natural バージョンで変更される可能性があります。 Natural アプリケーションがこの列挙順序に依存しないようにしてください。
詳細については、「ダイアログエレメントのクライアントデータの保存と取得」を参照してください。
名前/データタイプ | 説明 |
---|---|
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