Академический Документы
Профессиональный Документы
Культура Документы
DATA DIVISION.
WORKING-STORAGE SECTION.
01 get-single-char pic 9(2) comp-x value 26.
01 key-status.
05 key-type pic x.
05 key-code-1 pic 9(2) comp-x.
05 key-code-2 pic 9(2) comp-x.
78 carriage-return value 0.
78 ws-esquerda value 3.
78 ws-direita value 4.
78 up-arrow value 5.
78 down-arrow value 6.
01 wlncl-ant.
03 wlin-a pic 99.
03 wcol-a pic 99.
01 wlncl.
03 wlin pic 99.
03 wcol pic 99.
SCREEN SECTION.
COPY "SCR\CST900A.SCR".
PROCEDURE DIVISION.
PF00.
DISPLAY spaces AT 0101
DISPLAY G-CST900A.
MOVE 18 TO WLIN
MOVE 19 TO WCOL.
PERFORM pf-esquerda THRU pf-exit.
which-key-loop.
call x"af" using get-single-char
key-status
evaluate key-type
when adis-fn-key
evaluate key-code-1
when ws-esquerda
when ws-direita PERFORM pf-direita THRU pf-exit
when up-arrow PERFORM pf-sobe THRU pf-exit
when down-arrow PERFORM pf-desce THRU pf-exit
when carriage-return PERFORM pf-efetiva THRU pf-exit
when other call x"e5"
end-evaluate
end-evaluate.
GO which-key-loop.
pf-sobe.
MOVE wlncl TO wlncl-ant
IF wlin < 13
THEN MOVE 18 TO wlin
ELSE SUBTRACT 1 FROM wlin.
GO pf-mostra.
pf-desce.
MOVE wlncl TO wlncl-ant
IF wlin > 17
THEN MOVE 12 TO wlin
ELSE ADD 1 TO wlin.
GO pf-mostra.
pf-direita.
MOVE wlncl TO wlncl-ant
IF wcol > 19
THEN MOVE 19 TO wcol
ELSE MOVE 53 TO wcol.
GO pf-mostra.
pf-esquerda.
MOVE wlncl TO wlncl-ant
IF wcol = 19
THEN MOVE 53 TO wcol
ELSE MOVE 19 TO wcol.
GO pf-mostra.
pf-mostra.
COMPUTE screen-row = (wlin - 1)
COMPUTE screen-col = wcol
perform mark-block.
perform clear-block
GO pf-exit.
mark-block.
call "CBL_WRITE_SCR_ATTRS" using screen-position
reverse-vid
string-length.
clear-block.
call "CBL_WRITE_SCR_ATTRS" using screen-position
black-and-white
string-length.
pf-efetiva.
IF wlncl = "1219" CHAIN "CST001".
IF wlncl = "1319" CHAIN "CST002".
IF wlncl = "1419" CHAIN "CST003".
IF wlncl = "1519" CHAIN "CST004".
IF wlncl = "1619" CHAIN "CST005".
IF wlncl = "1719" CHAIN "CST006".
IF wlncl = "1819" DISPLAY "NAO ATIVO " AT 2001.
pf-fim.
DISPLAY SPACES AT 0101
STOP RUN.
pf-exit.
EXIT.
###################################################################################
###################################