行または列の負の値の意味
ストリング記述子や、その他のいくつかの記述子とアクションでは、行または列の負の値は、ホスト端末の最後の行または最後の列からのオフセットを示します。マクロ・ランタイムは、行または列の位置を次のように計算します。
actual row = (number of rows in text area) + 1 + (negative row offset)
actual column = (number of columns in text area) + 1 + (negative column offset)
例えば、ホスト画面に 24 行のテキストがある場合、行座標 -1 は、実際の行座標 24 を示します(24 + 1 - 1 として計算)。同様に、ホスト画面に 80 列のテキストがある場合、列座標 -1 は、実際の列座標 80 を示します (80 + 1 - 1 として計算)。上記の行の計算では、OIA 行は無視されます。例えば、ホスト画面が 25 行である場合、24 行のテキストしかありません。
この規則の利点は、ホスト端末の下部で長方形を指定する必要がある場合に、ホスト画面が 25 行、43 行、50 行のいずれであるかに関係なく、ここで示した計算方法を基に意図したとおりの結果が得られることです。同様に、ホスト端末の右側で長方形を指定する必要がある場合にも、ホスト画面が 80 列であるか 132 列であるかに関係なく、ここで示した計算方法を基に意図したとおりの結果が得られます。
表 1 および表 2 に、計算結果をいくつか示します。
行の負の値 | 24 行のテキストがあるホスト端末での実際の値 (OIA 行は無視): | 42 行のテキストがあるホスト端末での実際の値 (OIA 行は無視): | 49 行のテキストがあるホスト端末での実際の値 (OIA 行は無視): |
-1 | 24 | 42 | 49 |
-2 | 23 | 41 | 48 |
-3 | 22 | 40 | 47 |
列の負の値 | 80 列のホスト端末での実際の値 | 132 列のホスト端末での実際の値 |
---|---|---|
-1 | 80 | 132 |
-2 | 79 | 131 |
-3 | 78 | 130 |
この規則を使用するかどうかに関係なく、少なくとも座標が (1,1) と (-1,-1) の長方形域は、ホスト端末のテキスト領域全体を意味することを忘れないでください。