線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1651
推到 Plurk!
推到 Facebook!

"取消"按鈕中的代碼

尚未結案
SY_Huang
一般會員


發表:17
回覆:31
積分:9
註冊:2003-10-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-06 13:44:51 IP:202.64.xxx.xxx 未訂閱
各位大大兩個問題: 1.我打算用BDE DB 從資料庫中拿數據,因為數據非常大.同時對拿的每條記錄進行復雜的處理處理.如 6000 條記錄.隊每個記錄盡心處理判斷6次.可能化費時間30-40分鐘把結果利用用ADO 加到Access 中.打算用一個按鈕實現. 我的問題是如何動態顯示處理過程.如 5%變8%...,另如果user不想 處理.按"取消"button. 請問"取消"中代碼怎么寫.另如何關閉連接db. 2.想制作成象"MSN"養.啟動是自動躲藏.但在windows右下角中ico 中點擊一下可以調出main form. 我的問題是此代碼怎么寫. 3.能否制作成自定義執行狀態.如每天 5:15 PM執行.
SY_Huang
一般會員


發表:17
回覆:31
積分:9
註冊:2003-10-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-06 14:30:22 IP:202.64.xxx.xxx 未訂閱
各位大蝦.請指點一二.在此感激不盡.   Source code or Example 都可以.....< >< >
SY_Huang
一般會員


發表:17
回覆:31
積分:9
註冊:2003-10-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-06 14:36:55 IP:202.64.xxx.xxx 未訂閱
各位大蝦.請指點一二.在此感激不盡.   Source code or Example 都可以.....< >< > ___________________________________- 上屬需求﹐簡單講就是用
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-06 23:26:45 IP:219.68.xxx.xxx 未訂閱
引言: 各位大大兩個問題: 1.我打算用BDE DB 從資料庫中拿數據,因為數據非常大.同時對拿的每條記錄進行復雜的處理處理.如 6000 條記錄.隊每個記錄盡心處理判斷6次.可能化費時間30-40分鐘把結果利用用ADO 加到Access 中.打算用一個按鈕實現. 我的問題是如何動態顯示處理過程.如 5%變8%...,另如果user不想 處理.按"取消"button. 請問"取消"中代碼怎么寫.另如何關閉連接db. 2.想制作成象"MSN"養.啟動是自動躲藏.但在windows右下角中ico 中點擊一下可以調出main form. 我的問題是此代碼怎么寫. 3.能否制作成自定義執行狀態.如每天 5:15 PM執行.
SY_Huang您好..我想可能是因為您一次問太多問題了..所以沒什麼人想答吧 同時對拿的每條記錄進行復雜的處理<== 關於問題一..我想到了一個 > 在 > >
SY_Huang
一般會員


發表:17
回覆:31
積分:9
註冊:2003-10-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-08 11:05:20 IP:202.64.xxx.xxx 未訂閱
首先謝謝geniustom.第一個問題。我已經按照你的Idea 做了一個 測試.代碼如下: var Form1: TForm1; flag:integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); /*確定*/ var i,count:integer; begin self.ProgressBar1.Max:=116000; self.ProgressBar1.Step:=1; flag:=0; for i:=1 to 1160 do begin if flag=0 then begin for count:=1 to 100 do begin self.ProgressBar1.StepIt; end; end ; end ; end; procedure TForm1.Button2Click(Sender: TObject); /*取消*/ begin flag:=-1; end; 但是。我發現如果執行"確定"按鈕﹐后再執行"取消"buttton.不能中斷"確定"執行中的執行行為.只有"確定"執行完后.focus 才能到"取消"button.但此時."確定"中已經執行完畢. 設想是否要用TThread 多線程來開發此段代碼.請geniustom兄.能否給出相應此代碼.為謝!
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-11-08 12:30:34 IP:219.68.xxx.xxx 未訂閱
 var
  Form1: TForm1;
  flag:integer;    implementation    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject); /*確定*/
begin
   self.ProgressBar1.Max:=100;
   self.ProgressBar1.Step:=1;
   self.ProgressBar1.position:=0;
   flag:=1;
   PROCESSDB;
end;    procedure TForm1.Button2Click(Sender: TObject); /*取消*/
begin
  flag:=-1;
end;    procedure PROCESSDB();
var i,count:integer;
begin
   for i:=1 to (資料庫筆數/100) do
   begin
      if flag=1 then
      begin
         //您要做的資料庫處理
         application.Processmessages; 
         self.ProgressBar1.StepIt;
      end
      else
         exit;  //離開回圈..不處理了
   end ;
end;

程式碼改成這樣看看..應該就可以了... 不過直得一提的是..如果您的資料就算分了100等分(1160)每一等分仍然要處理一段時間時.. (例如3秒鐘我想應該是使用者忍受的範圍)假設3秒鐘能處理500筆 建議改成以下的方式... < class="code"> procedure TForm1.Button1Click(Sender: TObject); /*確定*/ begin self.ProgressBar1.Max:=您的資料筆數/500; self.ProgressBar1.Step:=1; self.ProgressBar1.position:=0; flag:=1; PROCESSDB; end; procedure PROCESSDB(); var i,count:integer; begin for i:=1 to (資料庫筆數/500) do begin if flag=1 then begin //您要做的資料庫處理 application.Processmessages; self.ProgressBar1.StepIt; end else exit; //離開回圈..不處理了 end ; end; 試試看吧..程式碼我是直接回應的..沒有開啟DELPHI.. 所以不知道會不會有小錯誤..不過程式的邏輯大概是這樣.. GOOD LUCK =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就 發表人 -
SY_Huang
一般會員


發表:17
回覆:31
積分:9
註冊:2003-10-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-11-08 14:34:36 IP:202.64.xxx.xxx 未訂閱
再此謝謝geniustom. 問題解決.第二個問題. 要求.程序開始啟動main form暗藏,另在windows 任務闌右下角顯示icon. 點擊icon(左鍵)可以顯示mian form.此功能怎樣實現. 再次感謝!! 以及第三個問題.是否可以用TTimer 控件實現此功能?請指教...可以令windows 啟動時,此program 也同時啟動.(常駐內存中).windowg關閉時此program 才關閉.
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-11-08 14:57:17 IP:219.68.xxx.xxx 未訂閱
上面的文章說的很清楚..請先爬文..提示:使用TTRAYICON這個元件可以滿足您的需求. 第三個問題更是廣泛..隨便一查就很多資料 http://delphi.ktop.com.tw/quicksearch.exe/quicksearch?SearchStr=¶}¾÷ ¦۰ʰõ¦æ =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
系統時間:2024-11-05 5:15:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!