ソフトウェア/Igor/FileListBox の変更点

更新


[[公開メモ]]

* ファイルの一覧を表示して、ファイル名のダブルクリックで特定の関数を呼び出すライブラリ [#gb6ed9d0]

ファイル名の一覧を表示する機能と、ダブルクリックで選択されたときに特定の関数を呼び出す機能を提供するライブラリです。

&attachref(FileListBox_2014-01-15.ipf);

&attachref(FileListBox_0.png);

** もっとも基本的な使い方: [#q1702a7d]

+ 上記ファイルを C:\Program Files\WaveMetrics\Igor Pro Folder\User Procedures に入れておいてプロシージャウィンドウの一番上に
+ 上記ファイルを C:\Program Files\WaveMetrics\Igor Pro Folder\User Procedures\FileListBox.ipf として保存し、プロシージャウィンドウの一番上に
 #include "FileListBox"
という行を追加する~
ファイルを適当なところに置いておいて、[ファイル]-[ファイルを開く(F)]-[プロシージャ(P)] から開いても使えるけど、その方法だとFileListBox.ipfファイルを移動すると使えなくなってしまうのかも~
ファイルを適当なところに置いておいて、[ファイル]-[ファイルを開く(F)]-[プロシージャ(P)] から開いても使えるけど、その方法だと FileListBox.ipf ファイルを移動すると使えなくなってしまうのかも~
~
追記:エクスペリメントファイルと同じフォルダに入れた場合には、~
 #include ":FileListBox"
とすると良い。~
とすれば良いです。~
~
+ ファイル名がダブルクリックされたときに実行したい内容を関数として記述する。例えばこんな感じ
 Function DoubleClickCallback(FileName)
 	string FileName
 	printf "'%s' was double clicked!\r", FileName
 end
当然、本来ならここでファイルを読み込んでグラフを表示するような使い方を想定している。~
~
+ コマンドラインから上で作った関数名を指定して FileListBox 関数を呼び出す
 FileListBox("DoubleClickCallback")
~
+ 表示されたパネルの FilePath の欄にて、内容は空白のまま Enter key を押す~
~
+ 適当なフォルダを指定して OK~
~
+ ファイル名をダブルクリックすると上記関数が実行される~
~
+ パネルはリサイズ可能~
COLOR(RED){※ただ、あまりウィンドウを大きくしていると Igor の表示処理がもたついてダブルクリックが効かなくなる不具合が(--;}

** ちょっと高度な使い方: [#l1a34dc3]

+ データファイルの拡張子を指定して、特定の種類のファイルのみをリストに表示させることができる。
 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:")
~

* 質問・コメント [#a4d7c6c2]

#article_kcaptcha

Counter: 3015 (from 2010/06/03), today: 3, yesterday: 3