ibm-midrange - AS400中显示新窗口时如何删除先前的窗口

标签 ibm-midrange

我正在尝试显示来自不同显示文件的窗口。即使提供 RMVWDW 后,新窗口也会与前一个窗口重叠。当窗口从多个显示文件显示时,RMVWDW 是否起作用? 当窗口从不同的显示文件显示时,在显示新窗口时删除先前的窗口的解决方案是什么?

最佳答案

因此,在没有更好地描述问题的情况下,让我尝试描述正在发生的事情。我编写了一些最小的程序来提供帮助。

首先我们有一个显示文件,其中只有一个全屏记录和一个窗口。该窗口将覆盖全屏记录。

DSPF1

 A          R RECORD1
 A                                  3 19'Base display record'
 A                                 20 18'Base Display Record'
 A          R W01                       WINDOW(7 15 10 50)
 A                                  5 14'Window in DSPF1'

关联程序PGM1

**free
dcl-f dspf1    workstn;

dcl-pr pgm2 ExtPgm('PGM2');
end-pr;

write record1;
exfmt w01;

pgm2();

*inlr = *On;
return;

显示record1和w01,并等待按下命令键。注意显示屏上的两条记录。

PGM1 Display

用户按 Enter 键并调用 PGM2。以下是显示文件和程序的来源。请注意显示文件源中的 ASSUME 关键字。这可以防止打开此显示文件时从显示中删除先前的显示文件。

DSPF2

 A          R W02                       WINDOW(9 20 10 50)
 A                                      RMVWDW
 A                                  5 14'Window 1 from DSPF2'
 A          R W03                       WINDOW(4 5 10 50)
 A                                      RMVWDW
 A                                  5 14'Window 2 from DSPF2'
 A          R DUMMY                     ASSUME
 A                                      OVERLAY
 A                                  1  2' '

DSPF2 的程序是 PGM2。

**free
dcl-f dspf2   workstn ignore(dummy);

exfmt w02;

exfmt w03;

*inlr = *On;
return;

这将显示DSPF2中的第一个窗口,等待命令键按下,然后从DSPF2中删除第一个窗口并显示DSPF2中的第二个窗口。

Window 1 in DSPF2

当你按下回车键时,你会得到:

Window 2 in DSPF2

再次输入即可结束这两个程序。

请注意,DSPF1 的窗口不会被 PGM2 删除。 ASSUME 关键字在 DSPF2 打开时保持 PGM1 的显示。当 DSPF2 处于事件状态时,DSPF1 会被挂起,因此当 DSPF2 处于事件状态时,您无法删除该窗口,除非您省略了 DSPF2 中的 ASSUME 关键字。但如果省略 ASSUME 关键字,则打开 DSPF2 时整个显示将被删除。

我想如果您在调用程序 2 之前重写了没有窗口的屏幕,您也许能够从 DSPF1 中删除该窗口,但您必须在 DSPF1 上设置 DFRWRT(*NO),否则写入不足以更新屏幕。

关于ibm-midrange - AS400中显示新窗口时如何删除先前的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55021944/

相关文章:

java - AS400 Java运行时文件设置库

ibm-midrange - 运行时屏幕输入字段

java - 使用 JTOpen 连接到 AS/400 时存在 SQL 注入(inject)风险

php - DB2 PHP 连接

java - Rpg 调用 Java 构造函数,在异常处理程序上出现错误 ClassDefNotFound

java - 无法将字符集 65535 中的字节转换为日语 (5035)

ibm-midrange - 在 IBM i IFS 目录中创建一个新的文本文件

mysql - 如何从IBM AS400+DB2制作一个简单的API以便与外部网站+mysql同步数据?

sql-server - 从 Sql Server 2008 R2 连接到 IBM i 服务器

java - 在as400上开发java程序从db2创建xml文件