- - PR -
コンソールアプリで同じ行に上書き表示するには
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-02-02 17:19
また勘違いされると困りますんで、、
.NET のコードに改造するのはそれほどムズい事ではないでしょう・・・・と勝手に思いこんでる 訳ですが。全く参考にならんほど懸け離れてるもんかね(笑) | ||||
|
投稿日時: 2004-02-02 17:28
これで、うまくできるみたいですね。 | ||||
|
投稿日時: 2004-02-02 17:31
ほむらです。
コブラ氏へ
エスケープシーケンスですか。懐かしいですね〜 VZ使ってバッチファイルとか いじっていたものです。 #SET PROMPTで色を変えていたりしました。 #9xはできるけど2000だとできないんですよね〜 < 文字色変え ただ、CLSしてしまうのはまずくないですか? アプリの使い方にもよると思いますけど。 っていうかCLSしたら自動的に左上に移動しますよね? どうせ使うのなら^[[?Dとか ^[[s と ^[[u とか。。。 sとuは微妙ですけどねDは使っていたときもあります。 #DOSの時は基本的にアセンブラ使っていましたがw | ||||
|
投稿日時: 2004-02-02 17:49
よくスペースで埋めるの忘れて「?」とか思ったことがありました。 ほろ苦い思い出です。 というわけでスペースを埋める処理を追加 Console.Write("現在{0,3:P}\r", percent); | ||||
|
投稿日時: 2004-02-02 17:53
karajanです。
お返事が遅くなってしまいすみませんでした。 \r を使用すればよかったんですね・・・。 ぜんぜん頭が回りませんでした。 おかげさまで、うまくいきました。 ありがとうございました。 --------- いざ作ってみると、コンソールアプリのほうがGUIアプリより結構面倒ですね。 単に慣れてないだけかもしれませんが。 | ||||
|
投稿日時: 2004-02-02 18:40
いやぁ、 unix 使いとしては curses 使うべきなんでしょうが、 MS-DOS からの負の(?)遺産
を受け継いでおるもんで、、(笑) っていうか、エスケープシーケンス自体は、CONFIG.SYSの (化石)ANSI.SYS を呼び出すか呼び出さないかで有効無効にできたりもしたんですが。 NEC-PC9801 の頃、 far ポインタで VRAM のアドレスに直接アクセスできた、あのやり方が もう通用しませんで、この手の「見栄え」制御にエスケープシーケンスが使えないとなると、 かなり煩わしい。どうもレジスタに何か入れて int 21h というやり方に馴染めず・・・ ^[[2J は、、画面をすっきりさせる為だけに書いたのですが、毎回すっきりさせる必要は 無いですね。掃除するにしても、 for に入る前に一回呼ぶだけでエエかと。。。 エスケープシーケンスって以外と重いっちゅぅ話を聞いたことがあります。 そうですか、もう Windows2000 では通用しませんか。。。代わりの方法があれば教えて貰いたい もんです。 いや何より、ほむら氏がまだ三十路前だという事実に驚いてしまいました。 私より技術力上回ってる・・・ | ||||
|
投稿日時: 2004-02-03 09:40
こんにちは。
そういえば、昔は locate 10,10 とかやっていたのを思い出しました。 今はつかえないですよね・・・。 エスケープシーケンスと組み合わせたsubを作っておいたら・・・と 思ったんですが、一度作っても、二度は使わないっぽい?? あ、たぶん、F-BASIC/WINでなら、使えるかも・・・(?!) | ||||
|
投稿日時: 2004-02-03 10:52
Linux版の Yet Another BASIC(yabasic) っちゅぅので組むと、たったこんだけで済んで
しまいました。 http://www.yabasic.de/download/yabasic-2.741.tar.gz #!/usr/local/bin/yabasic clear screen for I=0 to 1024 print at(10,10) "Now ",I,"%" next I 結局、そういうエスケープみたいな動作を前提としてるかしてないか、実装の違いも影響大ですな。 因みに、yabasic は Windows版もあります。 | ||||
