我正在查看 RM/COBOL 程序的一些源代码,并且一直遇到类似于以下的 ACCEPT 语句:
ACCEPT field-name LINE 23, POSITION 75 PROMPT ECHO
有类似这样的 ACCEPT 语句,它们用作输入字段,但旁边没有 PROMPT ECHO。
所以我的问题是:PROMPT ECHO 的功能是什么?
谢谢, Chubonga93
我正在查看 RM/COBOL 程序的一些源代码,并且一直遇到类似于以下的 ACCEPT 语句:
ACCEPT field-name LINE 23, POSITION 75 PROMPT ECHO
有类似这样的 ACCEPT 语句,它们用作输入字段,但旁边没有 PROMPT ECHO。
所以我的问题是:PROMPT ECHO 的功能是什么?
谢谢, Chubonga93
我可以提供帮助,我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
。
来自 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
. 我怀疑它对您的情况没有影响,也就是说,用户的输入像往常一样被回显。