文字列形式の列挙型要素の取得

更新しました Nov 13, 2020

環境

ソフトウェア

  • LabVIEW

列挙型のデータ型があり、その要素を文字列形式で取得したいと思います。ユーザーの選択に基づいて文字列データを取得できますか?これを実現できるLabVIEW関数はありますか?

列挙型のすべての項目の文字列表示を取得する方法と、現在選択されている項目のみを判別する方法はいくつかあります。以下のスニペットとメソッドの説明を使用して、この質問に取り組むいくつかの方法を学びます。


注:このイメージはLabVIEWスニペットであり、プロジェクトで再利用できるLabVIEWコードが含まれています。スニペットを使用するには、画像を右クリックしてコンピュータに保存し、ファイルをLabVIEWダイアグラムにドラッグします。


方法1:列挙型コントロールまたはインジケーターを備えたプロパティノード
列挙型コントロールまたはインジケーターが存在する場合は、列挙型のプロパティノードを作成し、 RingText.Textプロパティを選択します。このプロパティは、現在選択されているアイテムを文字列として返します。

方法2:列挙型コントロールまたはインジケーターを備えたプロパティノード
このメソッドは、参照を使用して使用するコントロール/インジケーターを定義することを除いて、メソッド1と同じです。ブロックダイアグラムでコントロール/インジケータの端子を右クリックし、[作成]»[参照]を選択すると、参照作成できます

方法3:列挙型コントロールまたはインジケーターを持つプロパティノード
列挙型コントロールまたはインジケーターが存在する場合は、列挙型のプロパティノードを作成し(メソッド1または2のように)、 Strings []プロパティを選択します。このプロパティは、指定された列挙型のすべてのアイテムの文字列の配列を返します。現在選択されているものだけを選択する場合は、列挙型をインデックス端末に接続してインデックス配列関数を使用し、目的の文字列にアクセスします。

プロパティノードは、ブロックダイアグラムの定数では機能しないことに注意してください。したがって、前述の方法は定数では機能しません。次の2つのメソッドは、列挙型定数でも機能します。

方法4:列挙型定数、コントロール、またはインジケーターを使用して文字列にフォーマットする
列挙型をFormatInto String関数入力に配線し、フォーマット文字列値%sをフォーマット文字列入力に配線します。この関数は、現在選択されている列挙値に関連付けられている文字列値を返します。
上記の例では、定数が使用されていますが、このメソッドは制御(またはインジケーター)で機能するため、これをコントロールのローカル変数に置き換えることができます。

方法5:LAVAのOpenGは、列挙型定数、コントロール、またはインディケーターを使用してEnum.vi関数から文字列を取得します
このメソッドは、列挙型から文字列を取得という名前のOpenGLabVIEWデータライブラリのVIを使用します。バリアントに変換された列挙型を配線すると、現在選択されている文字列だけでなく、すべての文字列が返されます。 LAVAのOpenGLabVIEW データライブラリは、VIパッケージマネージャ(VIPM)から利用できます。
(OpenGライブラリがない場合は、 ダイアグラム無効化構造を使用して最後のメソッドを無効にすることができますが、それでも他のメソッドを探索できます。)