單一按鍵處理 |
答題得分者是:㊣
|
aki
版主 發表:30 回覆:696 積分:755 註冊:2004-01-15 發送簡訊給我 |
|
ererer40
初階會員 發表:37 回覆:91 積分:45 註冊:2008-05-02 發送簡訊給我 |
|
aki
版主 發表:30 回覆:696 積分:755 註冊:2004-01-15 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
[code delphi] var StartTickCount: Cardinal = 0; procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin StartTickCount := GetTickCount; end; procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var t: Cardinal; begin t := GetTickCount - StartTickCount; if t > 6000 then ShowMessage('C:' IntToStr(t)) else if t > 4000 then ShowMessage('B:' IntToStr(t)) else if t > 2000 then ShowMessage('A:' IntToStr(t)); end; [/code]
編輯記錄
jow 重新編輯於 2008-10-21 20:41:30, 註解 無‧
|
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
1按鍵, 1外部中斷, 1個2 sec timer.
按鍵被按下, 起動timer 按鍵被放開, 停止timer, --> 2sec 內不做事, 2~3 sec 做 A, 4~5sec做B, ......以此類推 FYI. ===================引 用 aki 文 章=================== 我目前有一個軟體的問題想請問各位網友提示. 有一個設計上的需求就是只有單一按鍵. 按 2 秒後放開作 A 事件處理, 如果按了 4 秒後作 B 事件處理, 按了 6 秒後作 C 事件處理. 在軟體的寫法上該如何來做可以達到此目的. 先謝謝各位!
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
哇靠。大哉問勒。
2.01 sec 算不算 2.0 sec? 如果算的話。那要如何做分界點? 我覺得,這個可能要先收集資料。然後進入分群,分類,再來判斷目前按的時間算是那一個動作。 嗯。可以導入類神經的倒傳遞演算法來處理。 喔,不想這麼麻煩? 那你就要想好它的臨界值。把它定死了。 如 0-2.5 做 1 3.5-4.5 做 2 5.5以上做 3 而不是丟個題意不清的問題來找解答。 ===================引 用 ㊣ 文 章=================== 1按鍵, 1外部中斷, 1個2 sec timer. 按鍵被按下, 起動timer 按鍵被放開, 停止timer, --> 2sec 內不做事, 2~3 sec 做 A, 4~5sec做B, ......以此類推 FYI. ===================引 用 aki 文 章=================== 我目前有一個軟體的問題想請問各位網友提示. 有一個設計上的需求就是只有單一按鍵. 按 2 秒後放開作 A 事件處理, 如果按了 4 秒後作 B 事件處理, 按了 6 秒後作 C 事件處理. 在軟體的寫法上該如何來做可以達到此目的. 先謝謝各位! |
ererer40
初階會員 發表:37 回覆:91 積分:45 註冊:2008-05-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |