LabVIEW編程實例:手把手教你按鍵監視小軟體的實現

2021-01-08 編碼那些事

實例說明

該實例的軟體運行界面如下圖所示:

其功能為監視當前鍵盤的按鍵信息,當按下鍵盤上的某個鍵時,在軟體上顯示出當前按鍵對應的字符及ASCII碼,如上圖為當在鍵盤上按下「a」鍵時的運行情況,其對應的ASCII碼為97。

編程思路

主程序採用事件結構+循環結構的框架形式,在事件結構的「鍵按下」事件分支中實現按鍵的監視處理功能。同時,在事件結構中也添加了一個「前面板關閉?」分支,實現程序的退出功能。下面分別進行說明。

「鍵按下」事件分支處理

該事件分支中,當鍵按下事件發生時,LabVIEW會返回一個I16類型的「字符」信息,其對應的是該按鍵的ASCII碼。

首先將其強制轉換為U8類型的變量,然後使用LabVIEW內置函數「強制轉換類型」將其轉換為字符串類型,得到該按鍵對應的具體字符,得到字符後,在選擇結構裡面進行分別處理。

當按下的鍵為非「q」鍵時,使用「格式化寫入字符串」函數顯示其對應的字符和ASCII碼值,其中,字符和ASCII碼對應的格式分別為「%s」和「%d」,並輸出一個「假」布爾量使程序處於非退出狀態,這種情況也是選擇結構的默認情況處理,程序實現代碼如下:

當按下的鍵為「q」鍵時,彈出一個對話框詢問用戶程序是否退出,將其返回值作為while循環是否退出的條件。如下圖所示:

當選擇「確定」時程序退出,否則程序繼續運行。實現代碼如下:

「前面板關閉?」事件分支處理

當點擊前面板右上角的關閉按鈕時,也可以實現退出程序的功能,其實現代碼如下圖所示:

總結

該例子比較簡單,涉及到的知識點包括:事件與循環結構的編程、字符與數字之間的轉換、字符串的格式化、彈出對話框的使用等。

另外,也可以在這個例子的基礎上,增加「shift」、「Ctrl」、「Alt」等其它按鍵信息的監視,實現軟體更多的功能。

相關焦點

  • 手把手以實例教你學LabVIEW編程,事件結構框架
    LabVIEW又稱為G語言,簡單易學、形象直觀,採用圖形化的編程方式,是專為測試、測量和控制應用而設計的系統工程軟體。前面幾篇文章依次講解了LabVIEW中順序順序結構、條件結構及循環結構的編程方法,下面再講一種與軟體界面響應有關的事件結構的編程方法。
  • 手把手教你用「按鍵精靈」圖文教程
    按鍵精靈是一個可以模擬電腦操作的軟體,您在電腦上的一切動作都可以讓按鍵精靈模擬執行,完全解放您的雙手。按鍵精靈可以幫你操作電腦,不需要任何編程知識就可以作出功能強大的腳本。        按鍵精靈是一個可以模擬電腦操作的軟體,您在電腦上的一切動作都可以讓按鍵精靈模擬執行,完全解放您的雙手。
  • LabVIEW編程實例:手把手教你做一個圖片瀏覽器軟體
    實例說明該實例的軟體運行界面如下圖所示:軟體支持三種常用的圖片文件格式,分別為bmp、jpg和png格式。另外,當選擇某個圖片文件時,也支持顯示當前文件夾下的其它圖片文件。在軟體界面上包括以下控制項元素:「圖片」控制項:用來顯示瀏覽的圖片內容「打開」按鈕:選擇要瀏覽的圖片文件「前一張」和「後一張」按鈕:選擇當前目錄下的前一張或後一張圖片編程思路主程序採用循環結構+選擇結構+事件結構的框架形式,使用狀態機機制,整個程序包括兩個運行狀態,分別是默認狀態和加載文件狀態。
  • 圖形化手把手教你創建Oracle資料庫實例並認證是否成功
    Oracle資料庫實例並認證是否成功2、打開窗口後點擊下一步圖形化手把手教你創建Oracle資料庫實例並認證是否成功圖形化手把手教你創建Oracle資料庫實例並認證是否成功8、Oracle有比較嚴格的密碼機制,這裡會彈出建議你把密碼設置複雜點,這個不管,直接點擊是
  • LabVIEW編程技巧:手把手教你實現基於狀態機的程序框架架構
    下面通過一個例子,基於while循環、條件結構、事件結構及移位寄存器等基本編程知識點,演示在LabVIEW中如何實現狀態機的程序框架架構。實例說明為演示狀態機的編程實現,這兒模擬了某個工作場景,在這個場景中需要執行2個任務,這2個任務可由5個子任務(分別為子任務1、子任務2、子任務3、子任務4、子任務5)完成,在狀態機結構中可將這5個子任務理解為5個不同的狀態。
  • LabVIEW編程實例:模擬溫度採集+報警燈指示+運行記錄輸出
    LabVIEW簡單易學、形象直觀,採用圖形化的編程方式,是專為測試、測量和控制應用而設計的系統工程軟體。內置了豐富的控制項庫及函數庫,可以勝任各行業各領域的開發需求。另外,它也具有強大的外部接口能力,可以實現與C/C++、Basic、Matlab等程式語言互通的能力。
  • LabVIEW實例,如何編程實現一個虛擬FFT分析儀
    LabVIEW又稱為G語言,簡單易學、形象直觀,採用圖形化的編程方式,是專為測試、測量和控制應用而設計的系統工程軟體。因此,LabVIEW軟體在數據仿真、信號分析處理方面有著得天獨厚的優勢。本文以一個具體實例,演示在LabVIEW中如何實現一個虛擬的FFT分析儀設計,包括採樣信號的仿真、頻域的FFT分析及數據結果的圖形顯示等功能。
  • labview介紹和書籍推薦
    labview包含兩部分:1是前面板,2是圖形化原始碼  LabVIEW擁有一整套工具用於數據採集、分析、顯示和存儲數據,以及解決用戶編寫代碼中可能出現的問題。LabVIEW提供眾多輸入控制項和顯示控制項用於創建用戶界面,即前面板。
  • LabVIEW編程實例:如何實現右鍵快捷菜單功能
    實例說明軟體運行界面如下圖所示:在軟體界面上放置一波形圖控制項,在該控制項上點擊滑鼠右鍵彈出快捷菜單,通過該菜單實現如下功能:更新波形:產生新波形數據並在波形圖控制項上顯示;清除波形:清空波形圖控制項上的波形;遊標設置:顯示或隱藏波形圖控制項上的遊標;退出程序:選擇該菜單項時退出當前程序的運行
  • LabVIEW編程基礎:以實例學編程之循環結構
    LabVIEW又稱為G語言,簡單易學、形象直觀,採用圖形化的編程方式,是專為測試、測量和控制應用而設計的系統工程軟體。在前面兩篇文章(請參考:LabVIEW編程基礎:以實例學編程之條件結構精講,LabVIEW編程基礎:以實例學編程之順序結構)中分別講了順序結構與條件結構的編程方法,下面通過具體例子演示循環結構的編程使用方法。
  • 基於labview的示波器控制設計
    因此對示波器進行遠程自動控制,實現對示波器的各項功能的自動操作和對數據的處理已成為很多科研實驗和工程項目必需的環節。最近,我經常接到很多工程師的詢問有關如何控制示波器的電話。下面就來談談計算機控制示波器的步驟和方法,並利用實例進行分析和講解。本文引用地址:http://www.eepw.com.cn/article/234570.htm1.
  • LabVIEW基礎知識:手把手以實例教你學For循環和移位寄存器編程
    另外,由於它並非一種封閉的語言,而是具有強大的外部接口能力,可以實現與C/C++、Basic、Matlab等程式語言互通的能力,現在,LabVIEW不僅僅局限於虛擬儀器軟體類的開發,而是已經發展成為了一種通用的、完善的、開放的高級程式語言。
  • LabVIEW編程實例:如何求解自然常數e
    實例說明自然常數e,是數學中最重要的常數之一,是一個無限不循環小數,也是自然對數函數的底數,其值約為2.71828。它的一個經典的數學定義公式是:使用計算機計算e的值時,可以使用下面的公式近似計算:那麼在LabVIEW中如何編程實現求解這個公式即e的值呢?編程思路從上面的近似公式可以看出,e的值與n的階乘有關,可將上式分解為兩個步驟:求解n的階乘:n!=1×2×3×......
  • 利用Labview開發平臺和PLC通信協議實現換熱器採集監控系統的設計
    2 系統概述 美國NI公司的labview主要是一款基於圖形化程式語言的開發工具,由於它採用的是圖形化程式語言,與傳統的Visual C++、Visual Basic等編程工具不同,labview更易於開發維護。對於硬體部分主要採用西門子PLC,西門子PLC的優點在於支持多種通信協議,系統穩定,性能質量好,市場佔有率最高。
  • 手把手教你用PSP玩WOW 附按鍵設置
    手把手教你用PSP玩WOW 附按鍵設置 來源: 新浪遊戲 發布時間:2010-02-25 11:33:00 轉到個人空間   發一下我的按鍵設置   十字鍵 WSAD
  • labview和C ,那個更好入門
    現在用來編寫C/S端程序的程式語言,比較容易入門的估計就是labview和C#了。先來說說labview吧。labview在工控自動化領域應用非常廣泛,而且在物理教學方面很有優勢。如果你是搞電氣自動化,嵌入式,那麼用labview會事半功倍。labview的口號是軟體即是儀器。它的優勢是入門簡單,有編程功底的兩三天就可以入門。就算沒有編程功底的,兩周也入門了。不過,入門雖然容易,但是想要真正使用它編寫出一個健壯的商業軟體卻是不那麼容易的事。
  • python實例教程:5分鐘教你實現人臉識別,送源碼!
    我叫傑瑞,是一名編程高手,經常發表一些有趣的編程教學文章,喜歡的小夥伴趕緊關注我吧!人臉識別各位同學帥氣的傑瑞又來了,今天趁著閒下來的功夫給大家帶來一個了非常有趣的教程,傑瑞今天會手把手教大家去實現人臉識別,就像支付寶的人臉識別那樣,我們能夠識別出視頻或圖片中的人臉,但是傑瑞今天教大家實現的這個人臉識別是無法分辨出具體哪一個人的,只能分辨出人臉、鼻子、耳朵等器官的位置,並將這些器官用一個框給標記起來。為什麼無法識別出具體是哪一個人呢?
  • LabVIEW編程實例:生成隨機字符串並查找某字符出現的次數及位置
    實例說明使用LabVIEW程式語言,編寫一個VI程序,要求如下:能夠生成指定長度的a-z之間的隨機字符串能夠查找某個字符在字符串中出現的次數及位置實現後的軟體運行界面如下圖所示:編程思路對於第一個問題,要求生成
  • LabVIEW編程實例:如何創建並使用多態VI程序
    下面通過一個具體實例演示LabVIEW中多態VI程序的創建及使用方法。例子說明編程實現一個多態VI程序——MyAdd.vi,實現兩個數據x、y的相加運算,得到運算結果z。其中,輸入參數x、y可以是以下三種數據類型情況:X、y皆為double類型,輸出參數z為double類型,其值為x、y相加的結果X、y皆為字符串類型,輸出參數z為字符串類型,其值為x、y兩個字符串進行連接的結果X、y皆為bool類型,輸出參數z為bool型的數組類型,其值為將x、y組成一個一維數組的結果其總體的編程實現思路是:先分別編寫三個子VI程序,對應上面的三種輸入類型,其名稱分別為
  • 手把手教你搭建Python3開發環境
    Python是一種跨平臺的程式語言, 是一種解釋性、互動性和面向對象的腳本語言,多被用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越受到開發者的青睞,廣泛地被用於獨立的、大型項目的開發。