- - PR -
VB2005 コンソールアプリケーションについて
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-02-20 17:42
VB2005に関して、一つ質問させてください。
Console.WriteLine()にて、DOS上に文字などを表示させることができますが、 プログラム上での処理件数を表示させたいと思っています。 現在の処理件数/総件数 のような形でです。 Console.WriteLine(現在の処理件数/総件数)だと処理件数が増えるだびに DOS上に表示されてしまいます。(まぁ、WriteLineを使っているんで当り前ですが・・・。) そこで、"現在の処理件数"の所だけをカウントアップさせる表示方法ってあるのでしょうか? 以上、よろしくお願いいたします。 | ||||||||
|
投稿日時: 2007-02-20 17:56
Console.Writeにして、"\r"を使うとか。
あれ?"\r"じゃなくて"\b"だったかな? [ メッセージ編集済み 編集者: Blue 編集日時 2007-02-20 18:01 ] | ||||||||
|
投稿日時: 2007-02-20 18:04
こんにちは。
Windows APIのSetConsoleCursorPosition関数あたりを使うとか。
"¥r"でよいと思いますが、VBだとvbCrですね。 | ||||||||
|
投稿日時: 2007-02-20 18:10
実は、そういう処理をしたコード(C++)があったのですが、
上書きになって以前に出力した文字が残ってしまうのが問題で、 出力した文字数分 \b を送っていたようです。 | ||||||||
|
投稿日時: 2007-02-20 18:34
こんばんは。
なるほど…と思い一応試してみましたが ¥b(vbBack)で文字が消去されませんでした。 | ||||||||
|
投稿日時: 2007-02-20 19:33
すみません、勘違いでした。 \bを使っていたのは、すでに文字列があって、\rで行頭にもっていけなかったので、 \bで戻していたのでした。 C言語でかくとこんな感じ。
上書きで文字が残ってしまうのは、(空白埋めでも0埋めでもいいので)固定長の文字列を 出力することで回避させていました。 | ||||||||
|
投稿日時: 2007-02-20 20:59
VB2005とのことですので、
Console.SetCursorPositionやConsole.Clearが使えないでしょうか。 #未検証です | ||||||||
|
投稿日時: 2007-02-20 21:20
よねKENさんが仰るとおり、Console.SetCursorPositionを使用することができます。
以下サンプルです。参考になればよいですが
_________________ -------------------------------------------- HIRO@わんくま同盟 HIRO's.NET VB.NETとC#のTipsを掲載しています [ メッセージ編集済み 編集者: HIRO 編集日時 2007-02-20 21:20 ] [ メッセージ編集済み 編集者: HIRO 編集日時 2007-02-20 21:21 ] [ メッセージ編集済み 編集者: HIRO 編集日時 2007-02-20 21:48 ] | ||||||||
1
