アドレッシング (行、桁、位置)

HACL には、ホスト表示スペースにおいて点 (文字位置) をアドレッシングする方法が 2 つあります。アプリケーションは、行/列の 番号を使用するか、または単一の線形位置の値を使用して文字をアドレッシングすることができます。表示スペースのアドレッシングの場合、使用するアドレッシング方式に関係なく、常に 1 をベースにします (0 ベースではありません)。

行/列のアドレッシング方式が有用なのは、ホスト・データの物理画面表示に直接関係したアプリケーションの場合です。長方形の座標システム (左上隅が行 1 桁 1) を使うのが、 画面で点をアドレッシングする本来の方法です。線形位置アドレッシング法 (左上隅を位置 1 とし、左から右に向かって、上から下へ進む方法) が便利なのは、 表示スペース全体を単一のデータ・エレメント配列として表示するアプリケーションの場合、 または、このアドレッシング法を使用する EHLLAPI インターフェースから移植されたアプリケーションの場合です。

C++ 層では、同じメソッドでも、呼び出すシグニチャーが異なると、選択するアドレッシング方式も異なります。例えば、ホスト・カーソルを特定の画面座標に移動したい場合、アプリケーションは次の 2 つのいずれかのシグニチャーで ECLPS::SetCursorPos メソッドを呼び出すことができます。

PSObj->SetCusorPos(81);
PSObj->SetCursorPos(2, 1);

ホスト画面が行あたり 80 桁で構成されている場合、 上記のステートメントはどちらも同じ結果を生じさせます。またこの例は、アドレッシング方式における若干の相違も示します。つまり、表示スペースの行あたりの文字数についてアプリケーションに前提条件がある場合、線形位置メソッドでは予期しない結果を生じることがあります。例えば、この例のコードの 1 行目は、 132 桁に構成された表示スペースの行 1 の桁 81 にカーソルを置きます。コードの 2 行目は、表示スペースの構成に関係なく行 2 桁 1 にカーソルを置きます。

注: HACL 層によっては、1 つのアドレッシング方式しか公開していません。