TS工房 -技術者と研究者とモノづくり-

音楽や芸術のスタジオやアトリエの様な雰囲気の工房で、研究者として・技術者として”ものづくり”をしたい

MENU

【LabVIEW】複数のファイルを選択して、うまい具合に表示する【サンプルプログラム】

これまで自分で作ったLabVIEWプログラムは自分しか使わないので、フロントパネルの操作性といったUIについてあまり関心を払ってきませんでした。ところが、最近は他人がプログラムを使う機会が増えてきました。自分の作った物が世の中に役立つということはありがたい反面、他人が使いやすいような操作性といったGUIを意識しなければならなくなってきました。これが意外と大変。

そのような背景のなかで悩んでいたのが、LabVIEW上でどうやったら複数のファイル選択できるような操作になるかということ。いろいろ悩んだ結果、ファイルダイアログとリストボックスを組み合わせることで目的の機能を達成することができた。 悩みの過程とともにサンプルプログラムも載せておきます。

 

1.「フォルダをリスト」関数・・・不採用

真っ先に思いついた方法が既存の「フォルダをリスト」関数を使用する方法です。パスで検出されたファイル名やフォルダ名をリスト化できます。リストボックスを組み合わせることでファイルのリスト表示はできるが、ファイルの複数選択ということができなかった。不採用。

 

2.フォルダ・ファイルのツリー表示・・・不採用

Google検索の過程で発見したが、 「フォルダ内のフォルダ、ファイルをツリー表示させる - NI Community」で特定のフォルダに入った全てのフォルダやファイルをツリー構造で表示させる方法が紹介されている。個人的にツリー表示が好きじゃない、サンプルプログラムがぱっと見で複雑、ファイルを複数選択できるか不明だったという理由から不採用。


3.ファイルダイアログとリストボックスを組み合わせる・・・採用

私が今回作成したサンプルプログラムを下に張ります。VIスニペットなのでそのままコピーできます。よければ参考にしてください。

f:id:wannavi:20210302211353p:plain

LabVIEWで複数のファイルを選択してうまい具合に表示するサンプルプログラム

f:id:wannavi:20210302211735j:plain

フロントパネル

「ファイルを複数選択する」という動作については、ファイルダイアログを利用しました。デフォルトで単一項目選択に制限されている状態のため、プロパティなどからチェックを外して同時に選択できるようにします。こうすることで、Windowsライクなファイル選択をすることができます。

「選択されたファイルをリスト化して表示する」という動作については、リストボックスを利用しました。ただし、表示器としてリストボックスを配置すると数字タイプの変数となり、ファイルダイアログの出力を直接配線することができません。そこでプロパティノードを活用しました。「リストボックスを右クリック>作成>プロパティノード>項目名」の順で項目名のプロパティノードを作成して、これをForループと組み合わせて配線します。これでフロントパネルに表示したようなリストができあがります。

また、この後の動作として、選択されたファイルのリスト群からさらに一つを選択して、さらに追加の処理をさせたい場合があるかと思います。フロントパネル上でリストボックスを選択すると選択行に応じて数字を取得できるため、これを活用すれば簡単にファイル処理を追加することができます。

 

年明けからLabVIEWとの闘いが続いていましたが一段落しましたので、少しLabVIEWから離れますが、LabVIEWプログラムは作っていて楽しいので意外と相性が良いのかもしれない。ではまた。