1

我正在查看 RM/COBOL 程序的一些源代码,并且一直遇到类似于以下的 ACCEPT 语句:

   ACCEPT field-name LINE 23, POSITION 75 PROMPT ECHO

有类似这样的 ACCEPT 语句,它们用作输入字段,但旁边没有 PROMPT ECHO。

所以我的问题是:PROMPT ECHO 的功能是什么?

谢谢, Chubonga93

4

2 回答 2

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

于 2014-06-27T16:55:22.437 回答
1

来自 Micro Focus 的文档(关于他们对 RM/COBOL 的支持)提示子句

PROMPT 子句导致屏幕项目中的空字符位置在 ACCEPT 操作期间在屏幕上被标记,同时系统准备好接受操作员键入的数据到该项目。

一般格式是

提示 [CHARACTER IS { identifier-1, literal-1 } ]

这不考虑您的 ECHO 关键字。但是这个兼容性指南条目暗示了这个ECHO关键字:

5.2.14 在隐藏的 ACCEPT 字段中显示输入数据

如果您在程序中为同一个 ACCEPT 语句指定了 OFF 和 ECHO 子句,RM/COBOL 系统将隐藏在该语句输入期间输入的任何数据,但在输入完成时将显示数据。但是,一旦输入完成,此 COBOL 系统将不会显示此 ACCEPT 语句的数据。解决方案:

如果您希望显示指定了 OFF 和 ECHO 子句的 ACCEPT 语句的数据输入,则必须在 ACCEPT 语句之后添加 DISPLAY 语句。

我在网上看到了该文档的几个参考资料NO ECHO(其效果是用户的输入不会显示在屏幕上),但对于ECHO. 我怀疑它对您的情况没有影响,也就是说,用户的输入像往常一样被回显。

于 2014-06-27T13:56:05.967 回答