字符串与4GL中的空格对齐

时间:2012-06-21 06:44:34

标签: informix 4gl

如何将4gl中的字符串与指定的no.of空格对齐?

3 个答案:

答案 0 :(得分:0)

您可以使用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

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

答案 1 :(得分:0)

使用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的答案。 我希望有所帮助。

答案 2 :(得分:0)

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

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

这会改变字符串&#34; X&#34;在前面有5个空格。

对于零填充数字也很有用。使用&#34;&amp;&amp;&amp;&amp;&amp;&amp;&#34;更改1到00001.