- PR -

【C#.NET 2003】 Console.Writeの表示の仕方

1
投稿者投稿内容
さわこ
ベテラン
会議室デビュー日: 2003/06/04
投稿数: 71
投稿日時: 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");
 }
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-28 12:26
そういうものは、Console.Write や WriteLine メソッドを使わずに、
画面上の Label か何かに表示するようなテスト コードを書いた方が良いと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-11-28 12:32
\nの改行の代わりに\rで復帰だけすれば、行の先頭に移動できます。
新しく書く文字列が前回書いたのよりも短ければ後ろに残ってしまうので空白で埋めるなどが必要ですが。
2行に渡って描画されたときなどもまた問題です。
さわこ
ベテラン
会議室デビュー日: 2003/06/04
投稿数: 71
投稿日時: 2005-11-28 12:32
引用:

じゃんぬねっとさんの書き込み (2005-11-28 12:26) より:
そういうものは、Console.Write や WriteLine メソッドを使わずに、
画面上の Label か何かに表示するようなテスト コードを書いた方が良いと思います。





あーできればそうしたいのですが、
バッチ処理なので、画面表示はしたくないらしいです。
コンソールも画面と同じじゃん!って感じなんですが・・・
さわこ
ベテラン
会議室デビュー日: 2003/06/04
投稿数: 71
投稿日時: 2005-11-28 12:39
引用:

Hongliangさんの書き込み (2005-11-28 12:32) より:
nの改行の代わりにrで復帰だけすれば、行の先頭に移動できます。
新しく書く文字列が前回書いたのよりも短ければ後ろに残ってしまうので空白で埋めるなどが必要ですが。
2行に渡って描画されたときなどもまた問題です。



おぉ!!!
すごいです!すごい!!
ありがとうございました。
これで完璧です(多分)
なるほど\rにするとは思いもしませんでした。
でも、なぜ\r??・・・というのは自分で調べます。。。
本当にありがとうございました!!!

[ メッセージ編集済み 編集者: さわこ 編集日時 2005-11-28 12:39 ]
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-11-28 13:43
こんにちは。

まったくの余談になりますが、コンソール系APIをつかえば
もっと自由にコンソール画面をいじることができますよ。
TTY端末プログラムみたいなものとか。

例えば、
座標を指定して文字を表示したりだとか
SetConsoleCursorPosition
コンソールの文字に色をつけてみたりだとか…
SetConsoleTextAttribute

#過去に仕事で、そんなプログラムを作ったことがあるんですが
 何年も前のことなので、ソースコードを紛失してしまいました(~_~;)
さわこ
ベテラン
会議室デビュー日: 2003/06/04
投稿数: 71
投稿日時: 2005-11-28 14:59
引用:

Tdnr_Symさんの書き込み (2005-11-28 13:43) より:
こんにちは。

まったくの余談になりますが、コンソール系APIをつかえば
もっと自由にコンソール画面をいじることができますよ。
TTY端末プログラムみたいなものとか。

例えば、
座標を指定して文字を表示したりだとか
SetConsoleCursorPosition
コンソールの文字に色をつけてみたりだとか…
SetConsoleTextAttribute

#過去に仕事で、そんなプログラムを作ったことがあるんですが
 何年も前のことなので、ソースコードを紛失してしまいました(~_~



色もつけられるんですか?!
なるほど・・・ちょっとおしゃれにやってみようかしら。。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)