過去の桐井戸端BBS (桐ver.8)
4631 処理経過表示について 倉 廣行 2000/02/13-15:45
 いつも勉強させて頂いております。
質問があります。処理に時間が掛かる時などPC98とVer.5の時は
画面表示コマンドで処理内容を点滅表示させておりましたが
Ver.8ではどのような方法があるのでしょうか?
メッセージを点滅表示させるにはどのようにすればよいのでしょうか?
また、アプリケーションインストール時などに見られるような
全体の経過状態をバー表示させる方法はあるのでしょうか?
お判りになる方のご教授お願い致します。
また、お勧めの方法があれば教えてください。
宜しくお願い致します。
4633 Re:処理経過表示について 佐田 守弘 2000/02/14-02:15
記事番号4631へのコメント
倉 廣行さん
処理経過の表示方法ですが、経過状態のバー表示の様なものを行う桐の標準機能はありません。
また、MS-DOS版の桐と違って、画面表示コマンドを使う事はできません。

おそらく一番適切な方法は、フォームを表示し、フォームの中に作ったテキストオブジェクトで経過状態を表示する
のが良いかと思います。あるいは、既にフォームが表示されているのであれば、そのフォームの中に、経過表示
用のテキストオブジェクトを作成しておき、そのテキストオブジェクトに表示するのが良いでしょう。

なお、このオブジェクトは通常は非表示としておき、経過表示を行う時だけに表示に属性変更します。また経過を
表示するためには、「メソッド呼び出し 再描画」「コマンドを実行します。

佐田守弘(KS-00119)
4637 Re:処理経過表示について MIT 2000/02/14-04:01
記事番号4631へのコメント
MITと申します。
経過表示に関して私は、佐田先生のご発言にあった処理中の表示専用
フォームを作成して時間のかかる処理中はこれを表示するように
しています。
文字の点滅は文字色をタイマーイベントなどで変化させて擬似的に
行う手法もあるようですが
(画面表示コマンドと言う事で一括処理での事と思いますが)
一括処理中はタイマーイベントがうまく働いてくれないようです。

経過表示も佐田先生のご発言にもあった適当なテキストオブジェクト
で例えば四角マーク等を表示するのが表示系を最も簡略化できる手法
かと思います。
繰り返し処理などで残り件数をテキストオブジェクトに表示させていく
という方法も考えられます。但し、再描画に時間がかかる場合があるので
こういった方法は表示した時/しない時の処理所要時間など計測されて
決定した方がよいでしょう。
あるいは処理毎に表示される桐の経過表示で代用できるものであれば
これを使うかです。桐の環境設定の経過表示にあるメーターがらしい形
でしょうか?
ところで今思えば機種限定とはいえDOS桐の画面表示…,点滅
は便利なコマンドでしたね。MIT
4657 Re:処理経過表示について 倉 廣行 2000/02/14-20:50
記事番号4637へのコメント
佐田守弘さん、MITさん

丁寧なお答えありがとうございました!
大変参考になりました。

経過表示に関しては「メソッド呼び出し 再描画」が標準なようですね。
早速試してみたいと思います。

Ver.3kから使ってきた私としてはDOS桐を基準に考えてしまい
マニュアルも見ずに、はまってしまうパターンが続いております。
やっと最近Ver.8の考え方がおぼろげながら見えてきたかなと
いったところでまだまだです。

MITさん、DOS桐の画面表示…,点滅 私も多用しておりました。
便利なコマンドでしたね。う〜ん懐かしい。

これからも宜しくお願い致します。

倉 廣行
4680 MS-DOS版の点滅表示は 佐田 守弘 2000/02/15-18:53
記事番号4637へのコメント
MITさん
MS-DOS版にあった点滅表示は、MS-DOSの文字表示の表示属性の1つを利用していた
のではないかと思います。エスケープシーケンスを操れば、MS-DOSのバッチファイ
ルの画面でも反転表示や点滅表示などができました。

このエスケープシーケンスの機能は、おそらくNECのPC-9801専用の機能だったので
は。PC-9801シリーズでは、文字を表示するテキスト画面とグラフィックを表示す
るグラフィック画面が別でした。画面が別と言うのは、表示するデータを保持する
RAMが別になっていたわけです。そして、テキストV-RAMの文字の表示属性のフラグ
を使って、文字だけの表示色や、反転、点滅などの表示をしていたと思います。

文字もイメージもグラフィック画面に表示するDOS/Vでは、テキスト画面の文字の表
示属性そのものが存在しませんから、機能そのものがあり得ないのではと思いま
す。

Windows環境でもPC-9821であれば、MS-DOSプロンプトの画面でエスケープシーケ
ンスによる表示色の指定などが使えた様に記憶しております。

なお、DOS/Vが一般的になった頃からでしょうか、エスケープシーケンスの話は過去
の遺産になって来た様な気がします。

佐田守弘(KS-00119)
4685 Re:MS-DOS版の点滅表示は hidetake 2000/02/15-20:26
記事番号4680へのコメント
PC/AT 互換機でもエスケープシーケンスは使えます。

エスケープシーケンスを知りたければ、C:\WINDOWS に
ある MSDOSDRV.TXT の ANSI.SYS の項目をご覧下さい。

Command prompt only で起動した ANSI.SYS の入った
生DOS の US モードで echo ESC[5;32m TEST... ESC[0m
なんてしてみて下さい。

しかし、日本語環境で点滅まで使えるかは別問題です
が... (^_^;

それと PC/AT 互換機上の桐が遅いからと言って、あれ
が PC/AT 互換機の実力だと思うのは間違いだと思いま
す。

昔、EPSON から、ソフト的に 98 環境 PC/AT 互換機で
エミュレートするソフト(ハードまで使うものも)あり
ましたが、それをデモ版で試した限り、桐を PC/AT 互
換機上で使うより、エミュレータ上で 98 モードで動か
した方が、画面伝票では速く感じたことがあります。

桐自体が、98 との互換性の問題か、あるいは PC/AT用
に仮想VRAM など持つ等して、充分チューンナップして
いなかった為だと思います。

PC/AT 互換機のソフトであそこまで遅いソフトは見た
ことがありません。

もちろん、原理的に日本語テキスト環境では、98 の方
が PC/AT 互換機より有利なのは言うまでもありません。

しかし、桐はこれらの作りや制限より、98 でも PC/AT
互換機でも同じソフトが、そのまま動くことの方が私に
取っては充分なメリットでした。

戻る