Folder オブジェクトは、jsfolder と呼ばれるMax オブジェクトの中で定義される js の「エクスターナルオブジェクト」です。これは、フォルダ内のファイルに対する繰り返し処理のために用いられます。
f = new Folder(pathname);
pathname はサーチパス内のフォルダ名、または Max のパス構文によるフルパス名のどちらでも構いません。
例:
f = new Folder("patches"); // サーチパス内の patches フォルダを検索しようとします。 f = new Folder("Disk:/folder1/folder2"); // 絶対パスを使っています
Folder オブジェクトを作った後、おそらく typelist プロパティのセッティングによって横断検索するファイルを制限したいと考えるでしょう。
f.typelist = [ "iLaF" , "maxb" , "TEXT" ]; // 標準の Max ファイル
ファイルタイプコードやそれに関連した拡張子は、Cycling'74 フォルダ内の init フォルダの中にある、max-fileformats.txt をチェックして下さい。
Folder オブジェクトがファイルを横断検索する際に、カレントファイルに関する情報をそのファイルのプロパティによって調べることができます。また、end プロパティをテストすることによって、全てのプロパティを見たかどうかを判断することができます。次のコードはフォルダ内で見つけた全てのファイル名を表示します。
while (!f.end) { post(f.filename); post(); f.next(); }
Folder オブジェクトによる処理を終了するためには、このオブジェクトを削除するか、close メッセージを送ります。close メッセージを送った場合、後で再利用することができます。
f.close ();
Folder のプロパティには2種類のタイプがあり、1つはフォルダ内のカレントファイルを参照し、もう1つは Folder オブジェクトのステートを参照します。これらのプロパティのほとんどは読み出し専用(read-only)です。
end (Boolean, get)
count (Number, get
pathname (String, get)
typelist (Array of Strings, get/set)
filename (String, get)
moddate (Array, get)
filetype (String, get)
extension (String, get)
reset ()
next ()
close ()