【问题标题】:Is it possible to use the DELIMITER statement when using the DISPLAY statement使用DISPLAY语句时是否可以使用DELIMITER语句
【发布时间】:2022-10-13 21:00:41
【问题描述】:

假设我想做一个 FOR EACH 的 3 个表/字​​段:

slmast.name slmast.acode slmast.address.

通常,它们整齐地呈现出来,没有任何区别。

但是,我是否也可以使用 DELIMITER 语句来分隔它们,或者添加逗号/语音标记?

例如:

 FOR EACH slmast.

 DISPLAY (DELIMITER) "," slmast.name slmast.acode slmast.address

【问题讨论】:

    标签: openedge progress-4gl


    【解决方案1】:

    您应该使用 SUBSTITUTE 功能

    FOR EACH slmast.
    
    DISPLAY SUBSTITUTE ("&1,&2,&3":U, slmast.name, slmast.acode, slmast.address) 
              FORMAT "x(60)".
    

    【讨论】:

      【解决方案2】:

      不,DELIMITER 不是 DISPLAY 的选项。

      您可以按照 Mike 的建议进行操作并使用 SUBSTITUTE 构建一个字符串,或者您可以添加所需的逗号,如下所示:

      for each slmast no-lock:
      
        display 
          name + "," format "x(30)"
          acode + ","
          address + "," format "x(30)"
        .
      
      end.
      

      如果这是您想要的,这将成为很好的列,而 Mike 的代码将消除空格 - 或者,这可能是您想要的。

      如果宽度将超过默认格式 8,则需要 FORMAT 短语。我保留了未修饰的代码以显示默认值。

      【讨论】:

        猜你喜欢
        • 2016-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        • 2014-09-10
        • 1970-01-01
        相关资源
        最近更新 更多