Adressage (lignes, colonnes, positions)

La HACL propose deux manières d'adresser des points (positions des caractères) dans l'espace de présentation hôte. L'application peut adresser les caractères par numéros de ligne/colonne ou par une seule valeur de position linéaire. L'adressage de l'espace de présentation est toujours de base 1 (et non de base zéro), quel que soit le schéma d'adressage utilisé.

Le schéma d'adressage ligne/colonne est utile pour les applications directement liées à la présentation physique sur écran des données hôtes. Le système de coordonnées rectangulaires (avec la ligne 1, colonne 1 dans le coin supérieur gauche) est un moyen naturel d'adresser les points sur l'écran. La méthode d'adressage positionnel linéaire (avec la position 1 dans le coin supérieur gauche, progressant de gauche à droite, de haut en bas) est utile pour les applications qui visualisent l'intégralité de l'espace de présentation comme un seul tableau d'éléments de données, ou pour les applications portées depuis l'interface EHLLAPI qui utilise ce schéma d’adressage.

Au niveau C++, les différents schémas d'adressage sont choisis en appelant différentes signatures pour les mêmes méthodes. Par exemple, pour déplacer le curseur hôte vers une coordonnée d'écran donnée, l'application peut appeler la méthode ECLPS::SetCursorPos dans l'une des deux signatures suivantes :

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

Ces instructions ont le même effet si l'écran hôte est configuré pour 80 colonnes par ligne. Cet exemple met également en évidence une différence subtile dans les schémas d'adressage : la méthode de position linéaire peut donner des résultats inattendus si l'application fait des hypothèses sur le nombre de caractères par ligne de l'espace de présentation. Par exemple, la première ligne de code de l'exemple placerait le curseur sur la colonne 81 de la ligne 1 dans un espace de présentation configuré pour 132 colonnes. La deuxième ligne de code placerait le curseur sur la ligne 2, colonne 1, quelle que soit la configuration de l'espace de présentation.

Note : Certaines couches HACL peuvent exposer un seul schéma d'adressage.