行または列の負の値の意味

ストリング・ディスクリプターやその他の複数のディスクリプターやアクションでは、セッション・ウィンドウの行または列の負の値は、セッション・ウィンドウの最後の行または最後の列からのオフセットを示します。マクロ・ランタイムは、行または列の位置を次のように計算します。
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. 行の負の値
行の負の値 24 列のテキストがあるセッション・ウィンドウ内の実際の値 (OIA 行は無視) 24 列のテキストがあるセッション・ウィンドウ内の実際の値 (OIA 行は無視) 49 列のテキストがあるセッション・ウィンドウ内の実際の値 (OIA 行は無視)
-1 24 42 49
-2 23 41 48
-3 22 40 47
表 2. 列の負の値
列の負の値 80 列のセッション・ウィンドウ内の実際の値 132 列のセッション・ウィンドウ内の実際の値
-1 80 132
-2 79 131
-3 78 130

この規則を利用するかどうかにかかわらず、座標 (1,1) および (-1,-1) の長方形領域は、セッション・ウィンドウのテキスト域全体を意味することに注意してください。