Timer的interval小於1000似乎沒有比較快? |
|
capyu
一般會員 發表:17 回覆:23 積分:7 註冊:2005-01-23 發送簡訊給我 |
利用Timer 控制 亂數產生速度 並顯示到 form的Label之上
希望可以做到像是吃角子老虎一樣,拉下拉桿之後數字會一直跑, 目前數字會一直變 但是變的速度似乎一秒才變一次 把timer的interval 設成100 速度也差不多 label上的數字也差不多 是一秒改變一次,即使interval設成1,也差不多這速度, 但是把interval 設成 2000,label改變的速度確實會變慢 請問這樣該怎麼辦? void __fastcall TForm1::BitBtn1Click(TObject *Sender) { int x = StrToInt(Edit1->Text) ; if (x>100 || x<0) { ShowMessage("數值超出範圍"); Edit1->Text = ""; return; } BitBtn1->Enabled = false; Timer1->Enabled = true; } //--------------------------------------------------------------------------- void __fastcall TForm1::ProcessLabel() { randomize(); Label3->Caption = random(101); } //--------------------------------------------------------------------------- void __fastcall TForm1::BitBtn2Click(TObject *Sender) { BitBtn1->Enabled = true; Timer1->Enabled = false; } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { ProcessLabel(); } //--------------------------------------------------------------------------- |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
使用WINAPI的精準計時吧~可以計算到毫秒。
QueryPerformanceCounter QueryPerformanceFrequency 看看下面這篇DELPHI範例,很容易改成BCB。 http://www.pconline.com.cn/pcedu/empolder/gj/delphi/0412/508779.html |
capyu
一般會員 發表:17 回覆:23 積分:7 註冊:2005-01-23 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
capyu
一般會員 發表:17 回覆:23 積分:7 註冊:2005-01-23 發送簡訊給我 |
|
hobolin
初階會員 發表:0 回覆:25 積分:25 註冊:2005-07-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |