マクロ・ランタイムが長方形域を検索する方法 (ラップ・オプション)

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

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

次の記述は、折り返しオプションが 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
上記の行では、各行の先頭文字はブランク・スペースです。例えば、行 14 では、先頭の 2 文字は ' 6' です。つまり、ブランクのスペースの後に数表示 6 が続いたものです。このアプリケーション画面で、次の長方形のテキスト・ブロックがあるかどうか検査するストリング記述子をセットアップするものとします。
Hardcopy
Transfer
Outlist
Commands
Reserved
この複数行のブロックのストリング記述子をセットアップする手順は、次のとおりです。
  1. 新しいストリング・ディスクリプターを作成する。
  2. 「行 (Row)」と「列 (Column)」フィールドに値を設定する。テキスト長方形の左上隅の行と列の位置は (14, 5) であり、右下隅の行と列の位置は (18, 12) です。
  3. ストリング値を設定する。ストリング値は次のとおりです。
    'HardcopyTransferOutlist CommandReserved'
  4. 折り返しオプションを true に設定する。
  5. これ以外のすべてのオプションをデフォルトに設定したままにする。
上記のステップ 3 では、5 つの行が 1 つのストリングに連結され、充てん文字 (例えば、改行や末尾のスペース) は追加されないことに注意してください。しかし、このストリングには、'Outlist' の後のブランクのスペースが含まれます。これは、そのブランクのスペースが、長方形の境界内に含まれるからです。