因應用戶的要求機器使用觸控螢幕控制,而操作參數的輸入同樣要求在觸控螢幕上以跳出式視窗操作,不使用鍵盤輸入,因而有必要製作可在需要時跳出的虛擬數字鍵盤


參考網路上相關資料後,成功作出具實用性之數字鍵盤

 


主要操作畫面由上方的文字顯示元件及下方由一堆按鈕組成的集合(Cluster)構成,按鈕部分也可以不用作成集合元件,只是這樣在程式畫面的處理上比較雜亂


上方的文字顯示元件設定為這個VI的唯一輸出元件

20071224-01  

 

 

按鈕不是放進集合元件內就算完成,而必須再安排設定後才能使用。方法是在集合(Cluster)元件按滑鼠右鍵,從跳出的選單中點選Reorder Controls In Cluster...,進入集合構成元件的順序編排模式

20071224-02  

 

 

在集合構成元件的順序編排模式中,把代表數字0~9的按鈕編排成0~9的順序,代表小數點的按鈕排到第10,代表清除的CE按鈕排到第11位,輸入完成的OK鈕則排到第12順位。編排完成後按視窗上方的OK鈕結束順序編排模式


這樣的編排順序是為了後續程式書寫方便,不是無意義亂排一通

20071224-03  

 

 

程式使用迴圈架構,一開始先將集合(Cluster)元件資料轉換成陣列(Array)資料,原本構成集合的元件是布林(Boolean)按鈕,因此轉出來的是布林陣列。注意陣列資料的順序就是上一步驟編排的順序


其次使用Delete From Array將陣列的第11、12筆資料分離處理,這2筆資料分別代表CE和OK鈕,用Search 1D Array偵測這2個按鈕是否有動作。當CE的按鈕動作時就清除操作畫面上方文字顯示的文字,當OK鈕動作時就停止程式迴圈


另一邊分離剩下的0~小數點按鈕處理上稍複雜,首先就是先偵測這群按鈕之一是否有動作,其次用Search 1D Array偵測是第幾順位的按鈕動作,若是0~9順位的按鈕就直接轉成文字接到顯示字串的後面,若是第10順位就以"."接到顯示字串的後面

 

 

程式的輸寫部分到此算完成

20071224-04  

 

 

開頭提到可以不用將按鈕元件作成集合,但在程式中仍要依以下方法串成陣列。但這個方法若以後要做"文字鍵盤"時就很麻煩了,還是做成集合較省事

20071224-05  

 

 

程式完成後還要在作設定才能給其他程式直接叫用


在程式下拉功能表中點選VI Properties這一項進入設定畫面,在上方選單中選擇Window Appearance這一項,在畫面上選擇Dialog後按OK完成設定

20071224-06  

未出師的小工程師 發表在 痞客邦 PIXNET 留言(0) 人氣()