我正在查看RM / COBOL程序的一些源代码,并且我一直在运行类似于此的ACCEPT语句:
ACCEPT field-name LINE 23, POSITION 75 PROMPT ECHO
有类似的ACCEPT语句,它们作为输入字段起作用,但它们旁边没有PROMPT ECHO。
所以我的问题是:PROMPT ECHO的功能是什么?
谢谢, Chubonga93
答案 0 :(得分:2)
我可以提供帮助,我每天都使用ECHO
,这很简单:只要运行ACCEPT
语句,就会显示标识符的当前值。
说,你有这张照片:
01 WS_NAME PIC X(20) VALUE "Chubonga".
这是ACCEPT
:
DISPLAY "Enter name:".
ACCEPT WS_NAME ECHO.
程序会提示:
Enter name:
Chubonga
如果您在执行时更改WS_NAME
的值并重新运行ACCEPT
,则会显示所述标识符的新值。
编辑:根据编译器的不同,如果值由VALUE
而不是MOVE
或之前的ACCCEPT
设置,它可能会回显或不回显该值。
答案 1 :(得分:1)
来自Micro Focus的文档(他们对RM / COBOL的支持)PROMPT clause:
PROMPT子句导致在ACCEPT操作期间屏幕项目中的空字符位置在屏幕上被标记,同时系统准备接受操作员键控数据到该项目中。
一般格式是
PROMPT [CHARACTER IS {identifier-1,literal-1}]
不考虑您的ECHO关键字。但是compatibility guide entr y提到了ECHO
关键字:
5.2.14在隐藏的ACCEPT字段中显示输入数据
如果您在程序中为同一个ACCEPT语句指定了OFF和ECHO子句,则RM / COBOL系统将隐藏在该语句的输入期间输入的任何数据,但在输入完成时将显示数据。但是,一旦输入完成,该COBOL系统将不显示此ACCEPT语句的数据。 解决方案:
如果要显示指定了OFF和ECHO子句的ACCEPT语句的数据输入,则必须在ACCEPT语句后添加DISPLAY语句。
我在网上看到几个文件NO ECHO
(其效果是用户的输入没有显示在屏幕上)但ECHO
没有任何内容。我怀疑它对你的情况没有影响,也就是说,用户的输入像往常一样被回应。