過去の桐井戸端BBS (桐ver.9) |
21853 | 一括処理でファイル複写をするときにWindowsでコピーするときのようなインジケータを出したい | なにわ の桐リスト | 2003/08/13-12:16 |
一括処理で教えて下さい。 *********一括処理************ ファイル複写 "c:\dateik\kyusai3.tbl","d:\datbak\kyusai3.tbl",終了状態=&実行リターン **************************** 転送するファイルが130MB程あり約1:20分くらいかかります。 手動で実行する場合 Windwsの羽つきで飛ぶBOXで下にインジケーターが出ます。 同じようなインジケーターか、亀をステータスバーに走らすようなこと出来ないでしょうか?? 教えて下さい。 | |||
21854 | Re:進捗状況表示 | 悲しげ | 2003/08/13-20:31 |
記事番号21853へのコメント 以下は、処理を遅くするだけで、殆ど意味があるとは思いませんが……(^^;) 名札 メイン var 固有,文字列{&表示1,&表示2} \ ,固有,長整数{&総件数,&百分の壱,&i,&始行} * 手続き定義開始 フォーム::フォーム開始(長整数 &表番号) &表示1="",&表示2=#複写(".",50) オブジェクト操作 @a表示1.標題=&表示1,@a表示2.標題=&表示2 手続き定義終了 proc 複写実行() method @フォーム.再描画(0) 表 "a.tbl" &総件数=#総件数,&百分の壱=&総件数%100,&i=0 if(&総件数<100) 確認 "百行以上の表でしか使えません" method @b閉じる.実行() end 書き出し 枠組み,"b.tbl" 表 "b.tbl" 編集表 "a.tbl" 繰り返し &表示1=#str(&i)+"%処理済" \ ,&表示2=#複写("o",#int(&i/2))+#複写(".",50-#int(&i/2)) オブジェクト操作 @a表示1.標題=&表示1,@a表示2.標題=&表示2 method @フォーム.描画更新() 編集表 "a.tbl" &始行=&i*&百分の壱+1 絞り込み解除 ジャンプ 行番号=&始行 if(&i=99) 絞り込み 行数=-1 手続き実行 読み込み() 繰り返し中止 else 絞り込み 行数=&百分の壱 手続き実行 読み込み() &i=&i+1 end 繰り返し終了 &表示1="100%処理完了",&表示2=#複写("o",50) オブジェクト操作 @a表示1.標題=&表示1,@a表示2.標題=&表示2 method @フォーム.描画更新() 編集表 "a.tbl" 終了 表 編集対象表 編集表 "b.tbl" 終了 表 編集対象表 end proc 読み込み() 編集表 "b.tbl" ジャンプ 行番号=終端 読み込み 表,"a.tbl",編集表=する,終了状態=&実行リターン,* end | |||
21855 | Re:進捗状況表示 | 悲しげ | 2003/08/13-20:59 |
記事番号21854へのコメント 補足します。 当該フォームにはラベルオブジェクトふたつ設定していまして、 そのひとつ「a表示1」は「n%処理済」と表示されるようにします。 ふたつめの「a表示2」は次のように変わっていくようにします。 (LZHの圧縮・解凍画面のイメージっつーか) .................................................. (0%) ↓ ooooooooooooooooooooooooo......................... (50%) ↓ oooooooooooooooooooooooooooooooooooooooooooooooooo (100%) 挙げた記述は、当該フォームのkevの中味です。 表ファイル名とパス名は当然ながら別名です。 | |||
21856 | Re:進捗状況表示 | 悲しげ | 2003/08/13-21:04 |
記事番号21855へのコメント 補足(その2)です。 コマンドボタンをふたつ設定しています。 そのひとつは、「b閉じる」で 機能名 閉じる もうひとつは、「b複写実行」で 機能名 同パラ 手続き実行 複写実行 | |||
21857 | 悲しげさんは 有り難うございます | なにわ の桐リスト | 2003/08/14-09:05 |
記事番号21855へのコメント 悲しげ さん 有り難うございます。 私一括処理は或る程度、数と年数(桐3から桐8)経験有りますが イベントでの処理は簡単な(印刷、画面切替程度)物しか扱ったこと 有りませんので、お指定のコマンド群の試行が出来ません。 時間をかけて、勉強して見たいと思ってます。 >処理を遅くするだけで、殆ど意味があるとは思いませんが……(^^;) のお言葉通り、何となく処理を100分1ずつ区切って実行し その区切りの終わりに「インジケーター」表示するらしい?? ことしか解ってません・・・申し訳有りません。 解決として、シェル実行で「FT98」シアウェアを起動して ファイル複写することに致しました。 重ねて、お提案有り難うございました。 | |||
21862 | Re:進捗状況表示 | 悲しげ | 2003/08/14-15:25 |
記事番号21857へのコメント どもっ、なにわの桐リストさん >解決として、シェル実行で「FT98」シアウェアを起動して >ファイル複写することに致しました。 その方が絶対的にいいと思います。(^^;) 殆ど役に立ちそうもありませんが、例をこちらに挙げておきます。 | |||
21869 | Re:進捗状況表示 | hidetake | 2003/08/14-17:40 |
記事番号21862へのコメント こんな内容かな? 桐でWINDOWSの「ファイルコピー」を利用したい。 http://www.fuku3.com/~habata/kbbs/kakov8/06175.htm | |||
21871 | Re:進捗状況表示 | 悲しげ | 2003/08/14-18:10 |
記事番号21869へのコメント どもっ、hidetakeさん やはり既出でしたね。 | |||
21873 | 最終報告 | なにわ の桐リスト | 2003/08/14-18:37 |
記事番号21871へのコメント hidetake さん 有り難うございます。 お指摘のサイト(佐田さん)を見てFT98を思いつきました。 悲しげ さん イベントの掲載有り難うございます。 結果報告します。 レコード数 145231で 20% 31秒 40% 53秒 1:21 60% 1:15 2:36 80% 1:35 4:01 90% 2:05 6:06 100% 2:47 8:54 でした、もう一つ解ったことは、80%あたりから、ステータスバーに亀が出てきたことです。 ちなみにFT98の場合D&Dは11秒ですが 手動の時間をいれると20〜34秒くらい で最終的に一括処理の中で転送案内のフォームを挿入し、 インジケータは出ないですが 終了したことだけは解る、を採用し23秒でした。 |