配列内にある要素のプロパティ/メソッドにはどのようにアクセスするのですか?



使用ソフトウェア:
使用ソフトウェア・バージョン: 1.0
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題:
配列の要素があり、その要素のプロパティもしくはインボーグメソッドをプログラム的に変更したいです。配列内にある要素のリファレンスを取得するにはどうすれば良いですか?


解決策:
最初に注意することは、配列内にある個別の要素のプロパティを変更することはできないということです。すべての要素は、常に同じプロパティ設定となります。たとえば、ブールボタンの配列がありブールのカラーを青色に設定する場合、すべてのボタンが青色になります。配列の各要素のプロパティを変更することはできません。プロパティやインボーグメソッドをプログラム的に変更する方法は、以下のとおりです。
  1. 対象となる配列のリファレンスを取得します。リファレンスを作成するには、ダイアグラムから配列の端子を右クリックして、作成 » リファレンスを選択します。

  2. 配列のリファレンスを右クリックして、作成 » 配列(指定)クラスのプロパティ » 配列要素 » リファレンスを選択します。配列のリファレンスをプロパティノードを渡します。

  3. 現段階では、LabVIEWは配列の要素のみでどんな要素タイプか分かりません。LabVIEWに要素タイプを伝えるには、アプリケーション制御パネルにある「より特定のクラスに変換」関数使用します。

  4. 配列要素のリファレンスを「より特定のクラスに変換」関数のリファレンス入力に配線します。それから対象のタイプのリファレンスを作成します。これには、多く方法で行えます。1つの方法として、ダイアグラムにアプリケーション制御パレットから「クラス指定子定数」を配置します。ターゲットクラス端子を右クリックして、定数を作成します。それから、この定数を選択して対象のタイプに進みます。

    たとえば、配列が文字列の要素タイプの場合、クラス指定子定数を左クリックして、一般 » Gオブジェクト » 制御器 » 文字列を選択します。配線されていない場合は、クラス指定子定数を「より特定のクラスに変換」関数のターゲットクラス入力端子に配線します。

  5. ダイアグラムにプロパティノードもしくはインボーグノードを配置して、「より特定のクラスに変換」関数にある特定クラスのリファレンス出力を配線します。これで対象のタイプで利用できるプロパティやメソッドにアクセスすることができます。
下記のVIスニペットは、文字列配列にある要素のフォントサイズへプログラム的にアクセスする方法を示しています。




関連リンク:
LabVIEW ヘルプ: より特定のクラスに変換 関数
LabVIEW ヘルプ: クラス指定子定数
NIコミュニティ: Change Number Format within Array Using Property Nodes

添付:


ChangeProps.GIF - ChangeProps.GIFChangeProps.zip - ChangeProps.zip


報告日時: 02/21/2007
最終更新日: 12/08/2015
ドキュメントID: 46K897MY