2012-10-12 73 views
-3

相當簡單的問題,這在Cobol中非常複雜。Cobol Printscreen到文件

我需要將屏幕打印到一個文件,只需拿出屏幕上的任何內容並保存即可。只要我從Cobol獲得信息,保存的文件格式就無關緊要。

任何與此有關的幫助將非常appriciated。

+0

在純Cobol中,我猜這是不可能的。但是你可以把你的cobol程序和用其他語言編寫的庫鏈接起來, –

+2

哪個屏幕?你的問題被標記爲「大型機」,你在ISPF,CICS,IMS等? – cschneid

+0

L和CSC:我正在查找的數據是Mainframe/Extra!X-treme/IMS。 – user1741497

回答

0

EXTRA! X-treme是Attachmate for Windows機器的終端仿真器。您可能需要檢查該產品的文檔。從這個demonstration video來看,你需要做的可能就像在模擬器窗口中選擇所有文本一樣簡單,然後選擇Microsoft Office工具並將文本粘貼到Word文檔中。

1

實際上,它在Cobol中並不複雜。

我相信Cobol 85標準(所有現代Cobols應該遵守的標準)都有ACCEPT ..... FROM SCREEN聲明。

假設你有所謂的,比如說,一個SCREEN-DUMP-FILE輸出LINE SEQUENTIAL文件,與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都有一種查詢實際屏幕尺寸的方法,因此您可以相應地更改屏幕線條的數量和線條的尺寸。

+0

+1 ...這是一個有趣的想法,但很少有「大型機」應用程序使用COBOL-85 SCREEN功能。在大型機系統上,CICS更可能用於沒有適用的情況。但這是一個非常好的嘗試。 – NealB

0

如果您使用的是aviva主機模擬器,請在將您帶到下一個屏幕的操作之前插入此行。

rc% = AppWin.SaveScreen("full file location with name of file and extension",2) 

我正在使用此方法將屏幕保存到.txt文件。選項2依次追加輸出。 希望它有幫助。