マクロ・ランタイムが長方形域を検索する方法 (Wrap 属性)

Wrap 属性が「false」(デフォルト設定) に設定されている場合、マクロ・ランタイムは、長方形域の各行を別々に検索します。このメソッドが有効なのは、ストリング全体が 1 つの行に入っている場合です。例えば、ストリングが Utility Selection Panel であり、長方形域が (1,1)、(24,80) である場合、マクロ・ランタイムは次のようにこのストリングを検索します。
  1. 長方形域の最初の行を取得する。ストリングがこの行にあるかどうかを判別します。ない場合は、次の行を検索します。
  2. 長方形域の 2 番目の行を取得する。ストリングがこの行にあるかどうかを判別します。ない場合は、次の行を検索します。
  3. 以降も同様です。
一方、Wrap 属性が「true」に設定されている場合、マクロ・ランタイムは、次のようにストリングを検索します。
  1. 長方形域のすべての行を取得し、それらを、順に連結する。
  2. 連結された行内にストリングがあるかどうかを判別する。

検索対象のストリングが、ホスト端末上のある行から次の行に折り返される可能性がある場合は、Wrap 属性を「true」に設定してください。この属性を、抽出アクションの unwrap 属性と混同しないください。抽出アクションの unwrap 属性は、テキスト・ブロックではなく、フィールドに基づきます (unwrap 属性を参照)。

次の記述は、Wrap 属性が「true」に設定されている例を示しています。

図 1 は、アプリケーション画面の行 14 から 18 を示しています。
図 1. アプリケーション画面の行 14 から 18
 6  Hardcopy    Initiate hardcopy output
 7  Transfer    Download ISPF Client/Server or Transfer data set
 8  Outlist     Display, delete, or print held job output
 9  Commands    Create/change an application command table
 *  Reserved    This option reserved for future expansion
図 1 では、各行の最初の文字がブランク・スペースになっています。例えば、行 14 では、先頭の 2 文字は ' 6' です。つまり、ブランクのスペースの後に数表示 6 が続いたものです。このアプリケーション画面で、次の長方形のテキスト・ブロックがあるかどうか検査するストリング記述子をセットアップするものとします。
Hardcopy
Transfer
Outlist
Commands
Reserved
この複数行のブロックのストリング記述子をセットアップする手順は、次のとおりです。
  1. 新しいストリング・ディスクリプターを作成する。
  2. テキスト長方形の左上隅の行と列の位置を (14, 5) に、右下隅の行と列の位置を (18, 12) に設定する。
  3. ストリング値を設定する。ストリング値は次のとおりです。
    'HardcopyTransferOutlist CommandsReserved'
  4. Wrap 属性を「true」に設定する。
  5. その他のすべての属性をデフォルト設定のままにする。
上記のステップ 3 では、5 つの行が 1 つのストリングに連結され、充てん文字 (例えば、改行や末尾のスペース) は追加されないことに注意してください。しかし、このストリングには、'Outlist' の後のブランクのスペースが含まれます。これは、そのブランクのスペースが、長方形の境界内に含まれるからです。