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数组排序
评论