日期整数、命令窗口、库



我正在单独学习cobol,当我编写我的第一个代码时,我有一些疑问。

我在网站(TutorialsPoint 和 JDoodle)上使用 GnuCOBOL v2.2,我不明白如何通过 comand 窗口输入。有谁知道如何在这些网站上做?

另一件事是关于如何清理终端,当我使用"显示窗口擦除"时,我有一条错误消息:"140:警告:图形窗口未实现"。我需要使用任何库或存在任何其他组合吗?

还有一个疑问:函数整数日期不转换它建议的,输出只是零。代码如下:

WORKING-STORAGE SECTION.
77 DATA1 PIC 9(006). 
77 DATA2 PIC 9(006).
77 INTEIRO-1 PIC 9(008).
77 INTEIRO-2 PIC 9(008).
77 DIAS PIC 9(005).

PROCEDURE DIVISION. 
ACCEPT DATA1 FROM DATE
SET DATA2 TO 930217
MOVE FUNCTION INTEGER-OF-DATE (DATA1) TO INTEIRO-1 *> wrong convertion?
MOVE FUNCTION INTEGER-OF-DATE (DATA2) TO INTEIRO-2
COMPUTE DIAS = INTEIRO-2 - INTEIRO-1
DISPLAY X"0A"DATA1 " " DATA2
SET INTEIRO-1 TO FUNCTION INTEGER-OF-DATE(DATA1)
DISPLAY INTEIRO-1 " " INTEIRO-2
DISPLAY "DIAS: " DIAS

该代码的输出为:

180516 930217
00000000 00000000
DIAS: 00000

回答整数日期问题

FUNCTION INTEGER-OF-DATE(ccyymmdd)

您需要在PIC 9(8)字段中使用完整的 4 位年份才能使用此功能。

ACCEPT FROM DATE返回一个PIC 9(6),现在有一个ACCEPT FROM DATE YYYYMMDD返回PIC 9(8)的窗体。

INTEGER-OF-DATE()内部
  1. 函数采用 8 位格式 (YYYYMMDD) 的日期。您可以使用FUNCTION CURRENT-DATE来获取 8 位数的日期。

  2. 语法SET datum TO value通常保留用于索引,对于一般数据,您应该使用MOVE value TO datum

最新更新