Comment savoir, lorsqu’on conçoit un programme, si l’écran de l’utilisateur est en mode *DS3 (24×80) ou *DS4 (27×132) ?
Une API vous apporte la solution :
dcl-pr QsnQryModSup extproc(‘QsnQryModSup’);
mode Char(1);
modeInd Char(1) const options(*OMIT) ;
llHandle Int(10) const options(*OMIT);
error Char(16)options(*VARSIZE);
end-pr;
Elle ne vous indique pas vraiment votre mode mais permet de tester si votre configuration d’écran supporte certains modes.
Indiquer dans le premier paramètre CHAR(1) le mode testé :
‘3’ : *DS3 ou 24×80
‘4’ : *DS4 ou 27×132
Deuxième paramètre CHAR(1) est le retour de la fonction :
‘0’ : non supporté
‘1’ : mode supporté
Le troisième paramètre sera omit dans notre exemple
Le quatrième paramètre est la DS d’erreur que l’on va initialiser à x’00’
Donc, en testant, si vous supportez le mode ‘4’ vous saurez que vous êtes en 27×132.
Le mode ‘3’ (*DS3) étant supporté par les deux configurations.
dcl-pr QsnQryModSup extproc(‘QsnQryModSup’);
mode Char(1);
modeInd Char(1) const options(*OMIT) ;
llHandle Int(10) const options(*OMIT);
error Char(16)options(*VARSIZE);
end-pr;
dcl-s MODE char(1);
dcl-s MODEIND char(1);
dcl-s ERROR char(16) inz(*allx’00’);
//– Corps du programme
mode = ‘4’; //– 27×132 *DS4
QsnQryModSup(mode:modeind:*omit:error);
if modeInd = ‘1’… // supporté
…
Bons tests à toutes et à tous.