// フォルダ選択ダイアログサンプル(雛型) //--------------------------2004.12.26 新瀬 進(http://www.os.rim.or.jp/~furu/) var folderName; // 選択フォルダ名 // メイン===================================================================== var selectDir = new createBuilderDialog(); initializeBuilder(selectDir); if(runBuilder(selectDir)){ runProcessing(); } selectDir = null; folderName = null; // =========================================================================== // =========================================================================== // ダイアログ(デザイン作成)================================================= function createBuilderDialog(){ var dlg = new Window('dialog', 'フォルダ選択ダイアログ',[0,0,400,106]); dlg.title = dlg.add('statictext', [16,16,384,32], '対象フォルダを指定してください'); dlg.source = dlg.add('edittext',[16,32,330,50], ''); dlg.browseBtn = dlg.add('button',[330,32,384,50], '参照'); dlg.cancelBtn = dlg.add('button',[200,66,284,90], 'キャンセル', {name:'cancel'}); dlg.buildBtn = dlg.add('button',[300,66,384,90], '実行', {name:'ok'}); dlg.center(); return dlg; } // ダイアログ(ボタンを押したときなどの動作設定)============================= function initializeBuilder(builder){ with(builder){ source.onChange = function(){ folderName = source.text; }; browseBtn.onClick = function(){ var selFolder = Folder.selectDialog( "フォルダを選択してください", source.text ); if ( selFolder != null ) { source.text = selFolder.fsName.toString(); folderName = source.text; } } cancelBtn.onClick = function(){ this.parent.close( false ); }; buildBtn.onClick = function(){ this.parent.close( true ); }; } } // ダイアログ(起動・実行)=================================================== function runBuilder(builder){ return builder.show(); } // =========================================================================== // 実行したい処理============================================================= function runProcessing(){ alert(folderName); //例 }