記事「PrintFormat()を調べてすぐ使える例を適用する」についてのディスカッション - ページ 2

 

アルテム、これも説明してください:

//---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 #:

私の実験によれば、どのフィールドの前でもインデントできる。

当然だ。この記事は、簡単な例を使って、参考資料への追加としてそれを示しているに過ぎない。誰かがそれを読んだり読まなかったりするだけで、それを見た誰かが自分で実験して有益な結論を出すのだ ;)

HI.これで、テキスト文字列の任意の場所で、変数によって指定された任意のインデント/スペースサイズを作る方法がわかっただろう

 

このようにして、スペースの数を指定することができる:

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

/*
 Text_1 Text_2
*/

一般に、書式文字列の中で数字を使って桁数を指定する場合、アスタリスクを代入して、必要な値をパラメータに指定することができます。これを関数で使用する場合は、正式なパラメータで、必要な桁数/精度/文字数を持つ文字列を形成するために必要な値を渡します。

 
Artyom Trishkin 正式なパラメータで、必要な桁数/精度/文字数を持つ文字列を形成するために必要な値を渡します。

私はわざと違う方法で、アスタリスク*を使い、フォーマット文字列に直接指定した。

また、フォーマット文字列を文字列型の変数に保存して挿入する実験もしてみたが、うまくいった。つまり、同じ種類の文字列を何度も出力する必要がある場合、フォーマット文字列を含む変数を使えば、何度も入力したり、別の関数を書いたりする必要がなくなる。

 
Alexey Viktorov #:

アスタリスク*を使い、フォーマット文字列の中に直接、意図的に違うやり方をした。

また、フォーマット文字列を文字列型の変数に保存して貼り付ける実験もしてみたが、うまくいった。つまり、同じ種類の文字列を何度も出力する必要がある場合、フォーマット文字列を含む変数を使えば、何度も入力したり、別の関数を書いたりする必要がないのです。

例を添付したいのですが...)