同時執行滑鼠跟鍵盤

昨天請教站裡的大大做了一個符合我預期的倒數計時器後我在自己接上我想達到的一些功能。
介面看起來像這樣:
image

我想做的功能:

  1. run continuously的時候,倒數還不會開始。當我滑鼠按著OK鍵的時候倒數開始(這個部分完成)
  2. 當我按著按鈕時會有一個很簡單的加法題目出現,反之,沒按按鈕時就沒有題目
  3. 當我按著按鈕時(我用key navigate到鍵入格),能夠打入簡單加法的答案,如果答案對那就會有新的一到題目

目前遇到的問題:

  1. 當我滑鼠按著OK按鈕的時候,鍵盤就不能鍵入數字
  2. 題目產生的亂數被包在while裡所以他一直出題,我沒辦法去答題後比較,若正確再出新題

我目前的想法是第二個問題我可以用OK的按鍵觸發event出題,但我想不到要如何鍵入答案後比對再出新題
第一個問題(滑鼠按著按鈕不放時鍵盤不能輸入)有點無解,想請教各位高手!

(ps這是幫我一個心理系同學做的小測驗,要測驗倒數秒數對大腦和感官的反應之類的,不是課堂作業那類的,連發兩天怕被大家誤會)

countdown_0617.vi (20.5 KB)

看起來問題主要有兩點,
1.正常執行程式應該是按Run,不應該使用Run Continuously,除非一些測試特殊用途。
2.按鈕為何需要一直按著呢?按鈕可以選擇Mechanical Action,變更按鈕的行為,除非這個按著的動作跟你的測試有關係?
image

下面是根據文中說的需求以及附檔的程式動作去改的,可以參考看看,有問題再提出來討論,檔案有先降版成Labview2013,使用較新的版本應該都可開啟。。

CountdownTest.vi (17.3 KB)

2個讚

你敘述的功能可能搭配Event會比較好寫
假如對LabVIEW有興趣你可以查看使用方式
這邊寫了一個小程式(LabVIEW2018),你可以玩玩,假如你要倒數功能你可以修改看看

countdown_0622.vi (21.7 KB)

1個讚

Hi Dogthief,

根據第二點,確實"一直按著按鈕才能倒數跟出題(+輸入答案)"是測試要求(讓人心理上分心的測試),這也是為什麼我把按鈕的mechanical action改成按著不放才是high,不知道有沒有方式能夠達成這樣的功能(當滑鼠按著時我的鍵盤也能打字),我可以學來修改。

真的非常謝謝你修改的程式,我也需要花些時間了解一下,我有點忘記Event的功能怎麼用(上次用Labview已經是三年前的事情)

那你試試看下面步驟
1.把按鈕狀態設定為Disable
2.刪掉按鈕的Value change event
3.新增按鈕的event,Mouse down去抓使用者在按鈕範圍內按下滑鼠


4.新增按鈕的event,Mouse up跟Mouse leave去抓使用者放開滑鼠或離開按鈕範圍