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

Timer的interval小於1000似乎沒有比較快?

 
capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-28 22:02:27 IP:125.224.xxx.xxx 訂閱
利用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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-28 22:14:44 IP:211.22.xxx.xxx 未訂閱
使用WINAPI的精準計時吧~可以計算到毫秒。
QueryPerformanceCounter
QueryPerformanceFrequency
看看下面這篇DELPHI範例,很容易改成BCB。
http://www.pconline.com.cn/pcedu/empolder/gj/delphi/0412/508779.html
capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-28 22:50:55 IP:125.224.xxx.xxx 訂閱
我剛剛去看了
但是那程式似乎僅是計算
程式執行所需的時間而已
沒有timer觸發的功能
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-02-28 23:06:21 IP:211.22.xxx.xxx 未訂閱
有了精準計時的方法,自己寫個Thread把計時方法以及要作的工作放在Thread裡面不就解決了嘛!
capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-03-01 15:36:46 IP:60.248.xxx.xxx 訂閱
喔 了解 那我試試看 謝謝喔
hobolin
初階會員


發表:0
回覆:25
積分:25
註冊:2005-07-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-03-02 12:31:46 IP:61.230.xxx.xxx 訂閱
你的作業系統是不是 NT ?

試著把 Label 改成 Panel 再試看看,還不行請把你整個 project 上傳.


Stallion 所提的應該是需要更精準的時間系統時才需要



HoboLin
系統時間:2024-05-10 3:31:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!