【问题标题】:String alignment with spaces in 4GL4GL中的字符串与空格对齐
【发布时间】:2012-06-21 06:44:33
【问题描述】:

如何将 4gl 中的字符串与指定的空格数右对齐?

【问题讨论】:

    标签: informix 4gl


    【解决方案1】:

    您可以使用 FILL 函数创建指定数量的空格。例如,FILL("A", 10) 将返回 "AAAAAAAAAA"。

    这是一个简单的演示:

    DEFINE VARIABLE cText   AS CHARACTER   NO-UNDO.
    DEFINE VARIABLE iLength AS INTEGER     NO-UNDO.
    
    iLength = 16.
    cText = "Some text".
    
    cText = FILL(" ", iLength - LENGTH(cText)) + cText.
    
    MESSAGE cText.
    

    您要求的总长度为 16 个字符。使用 LENGTH(cText) 确定您的文本占用多少个字符,然后使用 FILL 在字符串前面创建剩余的空格数。


    Informix

    我为 Progress 4GL 回答了这个问题,后来才注意到这个问题是关于 Informix 4GL 的。我很抱歉我的错误。

    您可以在 Informix 中使用相同的主体来执行此操作。您可以使用 LENGTH 关键字找出现有文本的长度,但不要使用 FILL() 来填充空格,而应该使用 SPACES。

    Progress: FILL(" ", 10) + c_text
    Informix: 10 SPACES, c_text
    

    我真的希望这对你有帮助。

    【讨论】:

    • 非常感谢帮助兄弟,如何在 Informix 4GL 中执行此操作,因为 FILL 命令引发编译错误。
    • Informix 4GL 是一种完全不同的语言,您不妨在 C# 网站上提问。 Informix 中的“Fill”关键字的含义与 Informix 完全不同,甚至没有密切关系。我以前从未使用过 Informix,但我怀疑您应该查看“Spaces”和“Column”关键字。祝你好运!
    • 很抱歉,这是我的错误。您的问题被标记为 Informix 而不是 Progress。我必须真正学会正确阅读。
    【解决方案2】:

    使用 DISPLAY 时,您可以指定其位置:

    DISPLAY l_string at 3,3
    

    同样,您可以将变量设置为位置的占位符:

    DEFINE l_dest1, l_dest2 int
    DEFINE l_string char(20)
    
    LET l_string = "Some text here"
    LET l_dest1 = 3
    LET l_dest2 = 6
    DISPLAY l_string at l_dest1, l_dest2 
    

    结果:

                                                                               Some text here
    

    您也可以在字符串前添加空格,例如:

    DISPLAY"                                MY TEXT"
    

    如果文本在变量中并且您不想在该变量中添加空格。 你可以这样做:

    DISPLAY "                                         ", l_string
    

    how to center a string 上也可以查看我的回答。 我希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      您在 Informix 4GL 中使用 USING 语句。这可用于进行各种格式化,包括填充。

      LET l_string = "X" 
      LET l_string = l_string USING "######"
      

      这会将字符串“X”更改为前面有 5 个空格。

      对于用零填充数字也很有用。使用 "&&&&&&" 将 1 更改为 00001。

      【讨论】:

        猜你喜欢
        • 2017-04-20
        • 2017-02-11
        • 1970-01-01
        • 2013-09-16
        • 1970-01-01
        • 1970-01-01
        • 2019-08-14
        • 2010-11-26
        相关资源
        最近更新 更多