PROMPT和ECHO的特定功能以及COBOL中的ACCEPT语句是什么

时间:2014-06-26 20:55:48

标签: cobol microfocus

我正在查看RM / COBOL程序的一些源代码,并且我一直在运行类似于此的ACCEPT语句:

   ACCEPT field-name LINE 23, POSITION 75 PROMPT ECHO

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

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

谢谢, Chubonga93

2 个答案:

答案 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没有任何内容。我怀疑它对你的情况没有影响,也就是说,用户的输入像往常一样被回应。