- - PR -
【C#.NET 2003】 Console.Writeの表示の仕方
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-11-28 12:12
色々さがしてみたのですがなかなか見つからなかったので
是非教えていただきたく書き込みしました。 C#.NET のコンソールアプリケーション開発してます。 Console.Writeで、 ▲ / 100 件処理中 と表示したいのですが ただ、100件分を改行して出すだけなら問題ないのですが、 1行だけ表示して、▲の部分を動的に表示させたい(そう見えるようにしたい)のです。 このような場合はどのようなコードを書いたらいいのでしょうか。 どうか教えてください。よろしくお願いいたします。 現在は100件分表示させている状態です。 for(int i=0; i<100; i++) { Console.Write(i + " / 100 件処理中\n"); } | ||||
|
投稿日時: 2005-11-28 12:26
そういうものは、Console.Write や WriteLine メソッドを使わずに、
画面上の Label か何かに表示するようなテスト コードを書いた方が良いと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-11-28 12:32
\nの改行の代わりに\rで復帰だけすれば、行の先頭に移動できます。
新しく書く文字列が前回書いたのよりも短ければ後ろに残ってしまうので空白で埋めるなどが必要ですが。 2行に渡って描画されたときなどもまた問題です。 | ||||
|
投稿日時: 2005-11-28 12:32
あーできればそうしたいのですが、 バッチ処理なので、画面表示はしたくないらしいです。 コンソールも画面と同じじゃん!って感じなんですが・・・ | ||||
|
投稿日時: 2005-11-28 12:39
おぉ!!! すごいです!すごい!! ありがとうございました。 これで完璧です(多分) なるほど\rにするとは思いもしませんでした。 でも、なぜ\r??・・・というのは自分で調べます。。。 本当にありがとうございました!!! [ メッセージ編集済み 編集者: さわこ 編集日時 2005-11-28 12:39 ] | ||||
|
投稿日時: 2005-11-28 13:43
こんにちは。
まったくの余談になりますが、コンソール系APIをつかえば もっと自由にコンソール画面をいじることができますよ。 TTY端末プログラムみたいなものとか。 例えば、 座標を指定して文字を表示したりだとか SetConsoleCursorPosition コンソールの文字に色をつけてみたりだとか… SetConsoleTextAttribute #過去に仕事で、そんなプログラムを作ったことがあるんですが 何年も前のことなので、ソースコードを紛失してしまいました(~_~;) | ||||
|
投稿日時: 2005-11-28 14:59
色もつけられるんですか?! なるほど・・・ちょっとおしゃれにやってみようかしら。。 ありがとうございました。 |
1