LabVIEW程序設計模式(四)—狀態機和事件結構的結合

圖 24 狀態機中的事件結構
本例中引入了4個變量以供不同的狀態分支調用,如圖 25所示。其中的意義如下所述。
- Index:當前排序的列號,表示Listbox以哪一列為依據進行排序。
- ASC:表示當前排序的方式,true表示升序,而false表示降序。
- Column Header:表示Listbox的列頭數據。
- Data:表示Listbox的內容數據。

圖 25 數據變量
在圖 26中,事件結構處理的是Listbox的

圖 26 排序事件
在圖 27所示的DSort狀態中,根據內部變量的值對Listbox賦值并更新列頭的顯示。

圖 27 DSort狀態
圖 27調用了2D數組的排序函數,該函數的實現過程如圖 28所示。LabVIEW并沒有提供2D數組的排序方式,只提供了1D數組的排序函數。本例充分利用了LabVIEW提供的排序函數功能,當然并不是唯一的,也可以使用LabVIEW實現常用的排序算法。

圖 28 2D數組排序


評論