| ■No11814に返信(チューリップさんの記事) 既に「解決済み」だから蛇足かとは思いますが・・・ 拙作「桐でGrep10」では、処理しているフォームのどこかに、ソースが「&処理中表示」なる テキストを設けておいて以下のように動かしています。該当箇所のみを抜き出しました。 ------------------- 編集表 1 ジャンプ 行番号=先頭 &有効件数=0,&件数=#総件数,&処理中表示="" 繰り返し &file名=[○○] &有効件数=&有効件数+1 &処理中表示="("+#str(&有効件数)+"/"+#str(&件数)+") 「"+#ファイル名(&file名,3)+"」 処理中....." method @t処理中表示.再描画(0) method @フォーム.描画更新() if(・・・・) /*例外対応*/ メッセージボックス ・・・・ else call 通常処理() end 編集表 1 ジャンプ 行番号=次行 cond(#eof) 繰り返し中止 繰り返し終了 &処理中表示="" method @t処理中表示.再描画(0) method @フォーム.描画更新() 終了 表 1 確認 "全ファイル処理完了" ------------------- で、例えば (28/45)「××(tbx名とか)」処理中..... のように表示させる(m/nの「m」の進み具合が判る)。 ま、進捗割合をvisualに現わす方法もありますが、何をやってるか(遅いのはどこか)が判るのも一興、とか言ってみる。
欠点は、逐一の経過を画面に描画させることでより時間がかかること(遅いから見せてるのに)。(^^;) 分母が大きければ間引き表示(mが10毎に描画、即ち#mod(m,10)=0の時とか)とかもやったことあります。
それと > 中止ボタンで実行を止められるように たはは、桐のヘルプにある 「実行中の一括処理を強制的に中止するには、[Shift]+[Break]キーまたは[Ctrl]+[Break]キーを押します」 の出番かな(^^;)。
|