PROGRESS 4GL-来自外部程序的输入



我需要使用外部程序或过程更新程序a.p中的字段。但我做不到。这是a.p:的例子

DEF VAR v1 AS CHAR.
DEF VAR v2 AS CHAR.
DEF VAR v3 AS CHAR.
DEF VAR v4 AS CHAR.
DEF VAR external_program AS CHAR INITIAL 'myexternalprogram.p'.
FORM 
    v1
    v2
    v3
    v4
WITH FRAME f1.

ON F2 OF v1 IN FRAME f1
DO:
    RUN VALUE(external_program) .
END.
REPEAT:
    UPDATE 
        v1
        v2
        v3
        v4
    WITH FRAME f1.
END.
=========================================
myexternalprogram.p :
INPUT FROM VALUE(txt_with_data).

如果我使用内部程序是非常容易的。但我需要使用外部。而且我不能修改程序a.p。我试了一些把手,但失败了。。。

我开始想,这有可能吗?

谢谢你的回答。

当我使用:

MESSAGE PROGRAM-NAME(2) VIEW-AS ALERT-BOX.
MESSAGE SELF:NAME VIEW-AS ALERT-BOX.
SELF:SCREEN-VALUE = 'w1'.
APPLY "ENTER" TO SELF.

我可以跳到另一个领域,但在程序结束时。我怎么能用类似的代码跳过我所有的字段,知道帧和字段名?

您可以通过运行批处理会话来重定向stdin:

mbpro-db dbname-p程序。p<输入文件

或者,使用ENTRY事件获取当前字段,检查所需字段的PROGRAM-NAME()和SELF:NAME值,并根据需要修改SELF:SCREEN-VALUE。

要更新框架中的其他字段,请使用小部件句柄PREV-SIBLING和小部件句柄NEXT-SIBLING来遍历框架的小部件树。

相关内容

  • 没有找到相关文章

最新更新