株式会社テクトス

VIのフォルダパスを調べる [ VI's Folder Pass ]

VIの保存先のパスを調べる時に、"現在のVIパス"で調べる方法がありますが、 実行形式のEXEファイルにするとパスが変わってしまう場合があります。

例えば "c:\Test\Main.vi" の中で "c:\Test\Sub.vi" が使われている場合。Subの中で、"現在のVIパス"は "c:\Test\Sub.vi"を出します。

ここで、Mainを実行形式にすると、"c:\Test\Main.vi\Sub.vi" となります。

実行形式にする場合には変更が必要になります。

そこで、今回はそのVIが保存されているフォルダを調べるサブVIを作成しました。

○使い方

実行すると"FolderPass"から保存先のフォルダーが出力されます。

サンプルプログラム VI"VIsFolderPass.zip"(LabVIEW ver. 8.6版)ダウンロード

コネクタ画像

フロントパネル画像

○仕組み

"現在のVIパス"で得られたパスを文字列配列に変換して、"xxx.vi"または、"xxx.exe"を探します。

見つかったらフープを止めて、最後の要素を削除し、"xxx.vi"または、"xxx.exe"が入っているフォルダ名までが配列として得られます。

最後に、文字列配列をパスに戻します。

ブロックダイアグラム画像

テスト用プログラム VI"VIsFolderPassTest.vi"(LabVIEW ver. 8.6版)

テスト用VIも作りました。圧縮フォルダーに入っていますのでご利用ください。

実行形式サンプル EXE"VIsFolderPassTest.exe"(LabVIEW ver. 8.6版)

添付のプロジェクトでビルドを行い、実行形式にしたサンプルも添付します。圧縮フォルダーに入っていますのでご利用ください。

※実行にはLabVIEW Run-Time Engine 8.6.1が必要です。

NIのダウンロードサイト

http://joule.ni.com/nidu/cds/view/p/id/1244/lang/ja