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

請問有沒有讓程式"暫停"及"繼續"的功能?

尚未結案
andy7200
一般會員


發表:6
回覆:6
積分:2
註冊:2004-09-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-31 22:49:03 IP:218.166.xxx.xxx 未訂閱
我的code如下,如果我想要在按下空白鍵即可讓cpu先暫停,再按一次空白鍵又可繼續執行,程式應該怎麼寫比較好? 煩請高手指點,謝謝! void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled=true; } //------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { Close(); } //------------------------------------------------------------------- int t=0; void __fastcall TForm1::Timer1Timer(TObject *Sender) { ediOut->Text=t; t=t 1; } //-------------------------------------------------------------------
geniustom
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-31 23:03:36 IP:219.68.xxx.xxx 未訂閱
andy7200您好..關於您的問題..只要使用熱鍵即可... 比較簡單的方法是用GetAsyncKeyState();這個函數.. 可參考以下文章 請教各位有關 >> > 發表人 -
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-31 23:13:06 IP:221.169.xxx.xxx 未訂閱
andy7200:Form1上KeyPreview設為true;於Form1的OnKeyPress事件中
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
  if (Key == 32)  //32:空白鍵
    Timer1->Enabled=!(Timer1->Enabled);
}
請參考!
Andy Chang
------
Andy Chang
geniustom
版主


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-31 23:34:04 IP:219.68.xxx.xxx 未訂閱
補充一點.. andychang1690大大所說的是..當您的FORM在FOCUS(正在作用的視窗)才有用.. 而小弟的作法是..不管是否作用或是在背景(您正在執行別的程式)皆有用.. 依您的需求而定.. 不過我猜想.. >
andy7200
一般會員


發表:6
回覆:6
積分:2
註冊:2004-09-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-01 13:01:18 IP:163.29.xxx.xxx 未訂閱
感謝geniustom和andychang1690的指導 雖然按一下空白鍵已經可以暫停了但是再按一下卻無法繼續執行 我已經把code改為 int t; void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled=true; t=0 } 另外請教一下Timer1->Enabled=!(Timer1->Enabled);代表什麼含意 謝謝!
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-11-01 13:20:08 IP:221.169.xxx.xxx 未訂閱
引言: 感謝geniustom和andychang1690的指導 雖然按一下空白鍵已經可以暫停了但是再按一下卻無法繼續執行 我已經把code改為 int t; void __fastcall TForm1::Button1Click(TObject *Sender) { Timer1->Enabled=true; t=0 } 另外請教一下Timer1->Enabled=!(Timer1->Enabled);代表什麼含意 謝謝!
andy7200:!於C  語法中是not的意思,Timer1->Enabled
寫入傳回的皆是bool值,Timer1->Enabled=!(Timer1->Enabled);的意思是
將Timer1->Enabled給予not Timer1->Enabled的意思!
雖然按一下空白鍵已經可以暫停了但是再按一下卻無法繼續執行
請問你是如何處理?
Andy Chang
------
Andy Chang
geniustom
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-11-01 13:32:11 IP:219.68.xxx.xxx 未訂閱
andy7200您好..試試..    
void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
{
  if (Key == 32)  //32:空白鍵
    t=0;
    Timer1->Enabled=!(Timer1->Enabled);
}
您的t=0要寫在Timer1->Enabled=!(Timer1->Enabled);上面.. 才有用...T_T 發表人 - geniustom 於 2004/11/01 13:35:58
系統時間:2024-11-26 13:54:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!