以字符串格式获取枚举元素

更新 Nov 13, 2020

环境

软件

  • LabVIEW

我有一个枚举的数据类型,想以字符串格式获取其元素。是否可以根据用户的选择获取字符串数据?有LabVIEW功能可以做到这一点吗?

有几种方法既可以获取枚举的所有项目的字符串指示,也可以仅确定当前选定的项目。使用下面的代码段和方法描述来学习一些解决此问题的方法。


注意:该图像是LabVIEW片段,其中包含可在项目中重复使用的LabVIEW代码。要使用代码段,请右键单击图像,将其保存到计算机,然后将文件拖到LabVIEW图表上。


方法1:具有枚举控件或指示器的属性节点
如果存在枚举控件或指示符,请为枚举创建一个属性节点,然后选择RingText.Text属性。此属性以字符串形式返回当前选定的项目。

方法2:具有枚举控件或指示器的属性节点
此方法与方法1相同,不同之处在于它使用“引用”定义要使用的控件/指示器。您可以通过在程序框图上右键单击控件/指示器的终端并选择创建»参考创建参考

方法3:具有枚举控件或指示器的属性节点
如果存在枚举控件或指示符,则为枚举创建一个属性节点(如方法1或2),然后选择Strings []属性。此属性返回指定枚举的所有项目的字符串数组。如果只想选择当前选择的字符串,请使用索引数组功能,并将枚举连接到索引终端,以访问所需的字符串。

请注意,“属性节点”不适用于程序框图上的常量。因此,前面提到的方法不适用于常量。以下两种方法同样适用于枚举常量。

方法4:使用枚举常量,控件或指示符将其格式化为字符串
将枚举连接到Format Into String函数输入,并将格式字符串值%s连接到格式字符串输入。此函数将返回与当前选定的枚举值关联的字符串值。
在上面的示例中,使用了一个常量,但是可以将此常量替换为控件的局部变量,因为此方法适用于cotrol(或指标)

方法5:使用Enum常量,控件或指示符从Enum.vi函数获取LAVA的OpenG字符串
该方法使用OpenG LabVIEW数据库中的VI,该VI名为Enum__ogtk.vi中的Get Strings。连接一个转换为variant的枚举,它将返回所有字符串以及当前选择的字符串。 LAVA的OpenG LabVIEW数据库可通过VI Package Manager(VIPM)获得。
(如果您没有OpenG库,则可以使用图禁用结构来禁用最后一种方法,但仍然可以探索其他方法。)