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

有關延遲時間呼叫副函數

答題得分者是:
killop
一般會員


發表:14
回覆:17
積分:11
註冊:2003-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-22 21:42:37 IP:140.117.xxx.xxx 未訂閱
我是想在壓搖桿的時候產生訊號延遲的動作 也就是說一壓搖桿過一秒才持續有效果產生 以下圖表示          搖桿=>押押押押押押押押押押押押押 系統=>------押押押押押押押押押押押押押 //////<----> //////延遲時間 ps.sorry...空白弄不出來                                                                       那搖桿訊號是連續的,我是不是要做一個buffer 去存放延遲時間的訊號??? 或是使用thread                                                                      下面我寫的thread程式 不過你按在多次還是以你最後按所產生的延遲時間為準>_<     
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  n  ;
  TDelay *T=new TDelay(false);
}
                                                                                
// ----------------------------------
                                                                                
Thread程式中
                                                                                
clock_t start, end;
extern n;
__fastcall TDelay::TDelay(bool CreateSuspended)
        : TThread(CreateSuspended)
{
  start = clock();
}
//---------------------------------------------------------------------------
void __fastcall TDelay::Execute()
{
        //---- Place thread code here ----
  end = clock();
  while( ((end - start) / CLK_TCK ) <= 1 )
  {
    end = clock();
  }
    Form1->Label1->Caption = n;
}     
發表人 - killop 於 2004/02/22 21:46:12

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-22 22:54:38 IP:163.23.xxx.xxx 未訂閱
killop 您好:
     試試用    Sleep(1000) ; // 時間延遲一秒     或者參考下面 C 語言寫成的小範例    # include 
# include 
void main()
{
        float start,end;
        start=clock();
        printf("過一秒會出現");
        do{
          end=clock();}
        while( ((end-start)/CLOCKS_PER_SEC)<=1);
        printf("出現什麼?");
}    希望對您有幫助         發表人 - 流 於 
        
killop
一般會員


發表:14
回覆:17
積分:11
註冊:2003-09-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-23 10:35:17 IP:140.117.xxx.xxx 未訂閱
引言: killop 您好:
     試試用    Sleep(1000) ; // 時間延遲一秒     或者參考下面 C 語言寫成的小範例    # include 
# include 
void main()
{
        float start,end;
        start=clock();
        printf("過一秒會出現");
        do{
          end=clock();}
        while( ((end-start)/CLOCKS_PER_SEC)<=1);
        printf("出現什麼?");
}    希望對您有幫助         發表人 - 流 於 >< face="Verdana, Arial, Helvetica">    大大你好:
我知道sleep()與clock()的用法
但是這兩種用法都不太適用
可能是我沒說清楚題意

因為我有可能要"連續"按著按鍵
ps 按一次按鍵會經過delay time觸發另一個副程式

所以我以大大寫的範例來說明
當我把delay time設長一點的同時
在快到delay的時間又再按一次
那麼畫面並不會顯示東西
而是等到最後一次按的
所以他delay time是以最後按的為準
雖然該做的動作還是有做>_<但就是沒有顯示     
        
系統時間:2024-05-18 15:17:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!