如何将4gl中的字符串与指定的no.of空格对齐?
答案 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.