ソフトウェア/Igor/FileListBox の履歴(No.1)
更新- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ソフトウェア/Igor/FileListBox へ行く。
- 1
ファイルの一覧を表示して、ファイル名のダブルクリックで特定の関数を呼び出すライブラリ†
ファイル名の一覧を表示する機能と、ダブルクリックで選択されたときに特定の関数を呼び出す機能を提供するライブラリです。
もっとも基本的な使い方:†
- 上記ファイルを C:\Program Files\WaveMetrics\Igor Pro Folder\User Procedures に入れておいてプロシージャウィンドウの一番上に
#include "FileListBox"
という行を追加する
ファイルを適当なところに置いておいて、[ファイル]-[ファイルを開く(F)]-[プロシージャ(P)] から開いても使えるけど、その方法だとFileListBox.ipfファイルを移動すると使えなくなってしまうのかも
エクスペリメントファイルと同じディレクトリにあるファイルを #include することができないっぽいのが痛い
追記:エクスペリメントファイルと同じフォルダに入れた場合には、
#include ":FileListBox"
とすると良い。 - ファイル名がダブルクリックされたときに実行したい内容を関数として記述する。こんな感じ
Function DoubleClickCallback(FileName) string FileName printf "'%s' was double clicked!\r", FileName end
- コマンドラインから上で作った関数名を指定して FileListBox 関数を呼び出す
FileListBox("DoubleClickCallback")
- 表示されたパネルの FilePath の欄にて、内容は空白のまま Enter key を押す
- 適当なフォルダを指定して OK
- ファイル名をダブルクリックすると上記関数が実行される
- パネルはリサイズ可能
※ただ、あまりウィンドウを大きくしていると Igor の表示処理がもたついてダブルクリックが効かなくなる不具合が(--;
ちょっと高度な使い方:†
- データファイルの拡張子を指定して、特定のファイルのみを表示させることができる。
FileListBox("DoubleClickCallback", FileExt=".dat")
- 拡張子はセミコロンで複数指定できる。
FileListBox("DoubleClickCallback", FileExt=".dat;.txt")
- ファイル名一覧に一緒に表示したいファイル情報があるときは、ファイル名から情報をリストにして返す関数を以下のように作って、FileListBox 関数に FileInfoProc として渡せばよい
function/T FileInfoCallback(FileName) string FileName // return file infomations separated with semicolon(s) ";" return "param1;param2;param3" end
としておいて、FileListBox("DoubleClickCallback", FileInfoProc="FileInfoCallback")
表示されたファイル情報のコラム幅はドラッグで変えられる。Alt キーを押しながらドラッグすると幸福になれることも - パネルを表示するときの初期フォルダ名を InitialPath として指定できる
FileListBox("DoubleClickCallback", InitialPath="C:MyData:")
- もちろん、上記すべてを同時に指定しても良い
FileListBox("DoubleClickCallback", FileInfoProc="FileInfoCallBack", FileExt=".dat", InitialPath="C:MyData:")
質問・コメント†
Counter: 3488 (from 2010/06/03),
today: 5,
yesterday: 1