精通COBOL--16.3.4 输出过程中的光标定位

前面曾讲到,CICS中默认的输出是以当前光标所在位置作为起始位置的。不过,光标的实际位置在程序中也是可以进行更改。若要在程序中更改光标的位置,需要提供更改后光标的位置值。在CICS支持的标准终端屏幕上,光标的位置值如图所示。

由上图可以看出,光标的位置值是一个一维数字,而并非由行数和列数形成的一个二维向量。通常在程序要求中只给出直观的行列数,需要通过计算将其转换为程序中的光标位置值。例如,以下代码将从屏幕中倒数第二行的第一列开始输出相应信息:

IDENTIFICATION  DIVISION.

PROGRAM-ID.  CURSORPGM.

*

 ENVIRONMENT  DIVISION.

*

 DATA  DIVISION.

 WORKING-STORAGE  SECTION.

 ……

01  MSG    PIC  X(80).

*

 PROCEDURE  DIVISION.

    ……

MOVE   ‘MESSAGE  OUTPUT :’   TO  MSG.

EXEC  CICS  SEND  CONTROL   CURSOR(1760)              /*此处为光标定位*/

                                   END-EXEC

EXEC  CICS  SEND               FROM(MSG)

                                   LENGTH(20)

                                   END-EXEC.

……

    EXEC  CICS  RETURN  END-EXEC.

    GOBACK.

这样,输出信息的位置便可由程序任意指定,而不必受之前光标所在位置的影响了。此外,如果在SEND命令中同时加上ERASE选项,则屏幕将被清屏,光标位置将被刷新。刷新后的光标位置为其初始位置,相应位置值为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值