全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1230
推到 Plurk!
推到 Facebook!

為何label在迴圈中無法顯示?

尚未結案
superhsu
一般會員


發表:3
回覆:6
積分:1
註冊:2003-11-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-23 09:59:54 IP:203.70.xxx.xxx 未訂閱
大大們,在下才疏學淺,請指教謝謝! 我在迴圈中使用label卻發現無法正常顯示,必需要等到迴圈結束後才能顯示出來,不知這是什麼原因? 例: for i:=1 to 100 do begin ........ ........ label1.caption:=inttostr(i); end; 執行當中label並沒有顯示,當回圈結束後label才顯示 100,為何會這樣?
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-23 10:13:50 IP:61.229.xxx.xxx 未訂閱
加上Application.ProcessMessage即可,如下:
  for i:=1 to 100 do
  begin
    ....//do something
    label1.caption:=inttostr(i);
    Application.ProcessMessages;
  end;
引言: 大大們,在下才疏學淺,請指教謝謝! 我在迴圈中使用label卻發現無法正常顯示,必需要等到迴圈結束後才能顯示出來,不知這是什麼原因? 例: for i:=1 to 100 do begin ........ ........ label1.caption:=inttostr(i); end; 執行當中label並沒有顯示,當回圈結束後label才顯示 100,為何會這樣?
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-23 10:15:25 IP:61.222.xxx.xxx 未訂閱
另一種方式    for i:=1 to 100 do begin ........ ........  label1.caption:=inttostr(i); label1.Repaint; end;
den3do
一般會員


發表:2
回覆:7
積分:1
註冊:2003-01-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-24 21:38:58 IP:220.139.xxx.xxx 未訂閱
參一腳 for i := 0 to 100 do begin Label1.Caption := inttostr(i); Label1.Refresh; //<-- 他也口以 sleep(100); end;
poemkevin
初階會員


發表:26
回覆:77
積分:30
註冊:2002-10-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-25 10:11:11 IP:210.202.xxx.xxx 未訂閱
應該都有顯示出來, 只是處理速度太快, 所以您才會只看到最後的數字100 for i:=1 to 100 do begin Label1.Caption:=inttostr(i); Sleep(100); Application.ProcessMessage; end; =========================== 沉思, 再沉思! 學習, 再學習! 生活隨喜, 簡單自在^^ ===========================
superhsu
一般會員


發表:3
回覆:6
積分:1
註冊:2003-11-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-25 13:15:59 IP:203.70.xxx.xxx 未訂閱
謝謝各位大大們的指導! 我嘗試看看,感謝您們提供的好方法,不過得分者只有一位,所以給先回答者了,真不好意思...
系統時間:2024-07-01 7:41:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!