相当简单的问题,在 Cobol 中非常复杂。
我需要将屏幕打印到文件,只需获取屏幕上的任何内容并保存即可。保存的文件格式无关紧要,只要我从 Cobol 中获取信息即可。
对此的任何帮助都将非常感激。
实际上,它在 Cobol 中一点也不复杂。
我相信 Cobol 85 标准(所有现代 Cobols 都应该遵守)具有ACCEPT ..... FROM SCREEN
声明。
假设您有一个LINE SEQUENTIAL
输出文件,例如,SCREEN-DUMP-FILE
,文件记录为 SCREEN-DUMP-REC
,您可以使用以下代码段将屏幕转储到此文件:
OPEN OUTPUT SCREEN-DUMP-FILE.
PERFORM VARYING SCREEN-LINE FROM 1 BY 1
UNTIL SCREEN-LINE > 24
ACCEPT SCREEN-DUMP-REC FROM SCREEN
LINE SCREEN-LINE COL 1 SIZE 80
WRITE SCREEN-DUMP-REC
END-PERFORM.
CLOSE SCREEN-DUMP-FILE.
现在这并不难,不是吗?
请注意,此代码假定"大型机"终端大小在您的情况下可能会有所不同。此外,大多数现代 Cobols 都有一种询问实际屏幕大小的方法,因此您可以相应地更改屏幕行的数量和行的大小。
额外!X-treme是来自Attachmate的Windows机器终端模拟器。 您可能需要查看该产品的文档。 从此演示视频来看,您需要做的可能很简单,只需在模拟器窗口中选择所有文本,然后选择Microsoft Office工具并将文本粘贴到Word文档中即可。
如果您使用的是 aviva 大型机模拟器,请在将您带到下一个屏幕的操作之前插入此行。
rc% = AppWin.SaveScreen("full file location with name of file and extension",2)
我正在使用此方法将屏幕保存到.txt文件中。选项 2 逐个追加输出。希望对您有所帮助。