テキストファイルをCSVファイルに書き換える際に処理状況をプログレスバーで表示させたいのですが、最大値が分からない場合は、同様に表示させればいいのですか?
知識があるかたどうか御教授ください。
まあ、
・取りあえず適当に値を増やしていく。途中で完了したら一気に 100% に持っていき、99% でも完了しなかったらそのままずっと待たせる。
・プログレスバーを表示しない。代わりに実行中であることをアピールする(アニメーションを含む)表示を行う。
辺りが良くあるパターンですか。
たとえば IE でファイルをダウンロードするとき、相手サーバがファイルの長さの情報を返してくれなかった場合、プログレスバーは(バーそのものは表示するけれども)空白のままですよね?
テキストファイルは、どういうデータ形式なんでしょうか?
タブ区切りをカンマ区切りに書き換えるとか、行数が同じなら
テキストファイルの行数をあらかじめ取得すれば、最大値がわかります。
行数を取得するのは、こういう方法があります。
http://www.bcap.co.jp/hanafusa/VBHLP/FSO10.htm
ファイルの長さがわかるのなら、
行数じゃなくてファイルの総バイト数と変換済みバイト数の比率を表示すればいいのでは?
ツイート | ![]() |