dodaの日記: プログレスバーと残り時間の表示
日記 by
doda
ここのところ仕事やドラクエ5で忙しくて全然いじっていなかったのだけれど、突発的に思い立って、"ファイル送信"や"ファイル転送"時のダイアログでプログレスバーを表示するようにしてみた。
ただし、kermitとX-MODEMの受信時にはファイルサイズが判らないので表示しないけれど。
ファイル送信,kermit,X/ZMODEMでの動作確認はわりと簡単に出来た。しかし、Quick-VAN, B-plusの時の確認で詰まってしまった。
Quick-VANは2台のPCのシリアルポートをクロスケーブルで繋いで、Tera Term同士で送受信する事によって何とか確認出来た。
しかし、B-Plusはこの方法でもダメで、結局確認出来なかった。なにかいい方法はないんだろうか?
元の要望では残り時間も表示して欲しいという事だけど、これもどうするのがいいのかな?
- 最初の数秒間は表示しない。
- 数秒たったら転送速度を計算し、それを元に残り時間を計算,表示する。
- 一定時間毎に転送速度と残り時間を計算し直す。
こんな感じでいいのかな?
最初に少しの間は表示しないのは、少ないデータで計算してもあてにならないから。待つのは5秒程度でいいのかなあ。
更新する間隔は1秒毎としておこう。
もう一つ問題になるのが、転送速度の再計算方法。転送開始時からの平均速度にするか、直近の何秒かの平均速度にするか。
開始時からの平均速度の方が処理は楽だけれど、直近の何秒かで計算したほうが精度は良さそうな気がする。ただ、状況によっては開始時からの方が良いような気もするし。
他のソフトはどうしているんだろう?
取り合えず実装が簡単そうな開始時からの平均速度で試してみようかな。
プログレスバーと残り時間の表示 More ログイン