ソフトウェア/Igor/FileListBox のバックアップ差分(No.1)
更新- バックアップ一覧
- 現在との差分 を表示
- ソース を表示
- バックアップ を表示
- ソフトウェア/Igor/FileListBox へ行く。
- 1
- 追加された行はこの色です。
- 削除された行はこの色です。
[[公開メモ]] * ファイルの一覧を表示して、ファイル名のダブルクリックで特定の関数を呼び出すライブラリ [#gb6ed9d0] ファイル名の一覧を表示する機能と、ダブルクリックで選択されたときに特定の関数を呼び出す機能を提供するライブラリです。 &attachref(FileListBox_2014-01-15.ipf); &attachref(FileListBox_0.png); ** もっとも基本的な使い方: [#q1702a7d] + 上記ファイルを 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 + ファイル名をダブルクリックすると上記関数が実行される + パネルはリサイズ可能~ 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: 2975 (from 2010/06/03),
today: 1,
yesterday: 4