文章 "研究PrintFormat()并应用现成的示例" - 页 2

 

Artem,也请解释一下这个问题:

//---写入位数等于 2 的数值 и указываем, что свойство отображается в процентах
   PrintFormat("%*s%-*s%-.2 f %%",indent,"",w,header,AccountInfoDouble(ACCOUNT_MARGIN_LEVEL));

页边距宽度和文本"Margin level: " 什么意思?

我做过实验,但无法解释。

 
Alexey Viktorov #:

阿泰姆,请再解释一下:

页边距宽度和文本"Margin level: " 什么意思?

我做过实验,但无法解释。

从左边缘开始的行边距
 
Artyom Trishkin #:
从左边缘开始缩进行

但为什么会出现空行""呢?因为空行的长度为 0,所以无论你放多少空行,它仍然是空的。但如果你在这里输入一些文本,那么这些文本就会显示出来,而不是缩进,也就没有缩进了....。

这是我第一次在文档中看到信息不足的情况。这再次证明了您的文章非常有用。谢谢。

 
Alexey Viktorov #:

但为什么会出现空字符串""呢?因为空字符串的长度为 0,所以无论你在其中放置多少空格,它仍然是空的。但是,如果你在其中放入一些文本,那么这些文本就会显示出来,而不是缩进,也就没有缩进了....。

这是我第一次在文档中看到信息不足的情况。这再次证明了您的文章非常有用。谢谢。

空格在格式字符串中。从头开始阅读这一系列文章--我在那里描述了这种设计
 
Artyom Trishkin #:
空格位于格式字符串中。从头开始阅读这一系列文章--我在那里描述了这种结构

是的,我道歉。我只读到

计数属性的格式化输出

之后就跳过了....

这再次证明了您的文章非常有用。谢谢。

 
Artyom Trishkin #:
从左边缘开始缩进行

我的实验表明,可以在任何字段前缩进一行

 PrintFormat("%*sText_1%12sText_2", 5,"","");

/*
 Text_1 Text_2
*/
 
Alexey Viktorov #:

我的实验表明,您可以在任何字段前缩进

当然可以。这篇文章用一个简单的例子说明了这一点,作为参考资料的补充。有人看了/没看,有人看了之后自己做实验并得出有用的结论;)

现在你知道如何在文本字符串的任何位置使用变量指定的缩进/空格大小了吧

 

这就是指定空格个数的方法:

   PrintFormat("%*sText_1%*sText_2", 5,"",12,"");

/*
 Text_1 Text_2
*/

一般来说,如果在格式字符串中使用数字来指定某些内容的位数容量,可以用星号代替,然后在参数中指定所需的值。如果在函数中使用星号,则在形式参数 中传递所需值,以形成具有所需位数/精度/字符数的字符串

 
Artyom Trishkin 形式参数 中传递所需值,以形成具有所需数字容量/精度/字符数的字符串

我故意采用了不同的方法,在格式字符串中直接使用星号 *。

我还尝试过将格式字符串保存到字符串类型的变量中,然后再插入--这样做也行得通。也就是说,如果需要多次输出相同类型的字符串,可以使用一个包含格式字符串的变量,这样就不必多次输入格式字符串,也不必编写单独的函数。

 
Alexey Viktorov #:

我特意换了一种方式,直接在格式字符串中加上星号 *。

我还尝试过将格式字符串保存到字符串类型的变量中,然后粘贴--这也行得通。也就是说,如果需要多次输出相同类型的字符串,可以使用一个包含格式字符串的变量,这样就不必多次输入格式字符串,也不必编写单独的函数。

我想附上一个例子......)