home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2002 July / VPR0207A.ISO / OLS / IRVINE0_4_1A / irvine0_4_1a.lzh / scripts / treelinkimport.dms < prev    next >
Text File  |  2002-04-08  |  5KB  |  196 lines

  1. /*
  2. スクリプト初期化データ
  3. guid={F31667F9-E395-4303-B8BD-EFE975FD112F}
  4. caption=フォルダのURLインポート
  5. version=3
  6. hint=フォルダに関連付けたURLをインポートします。Shiftを押しながらでURLを設定します
  7. event=OnTreeMenuClick
  8. match=
  9. author=Wolfy
  10. */
  11.  
  12. SECTION = 'wolfy';
  13. IDENT_COUNT = 'url_count';
  14. IDENT = 'url_';
  15. IDENT_THREAD = 'thread';
  16. IDENT_DEPTH = 'depth';
  17. IDENT_TAG = 'tag_';
  18. IDENT_EXT = 'ext_';
  19.  
  20. TAG_ITEMS = "a href(通常)\nimg src(画像)\nframe src(フレーム)\niframe src(フローティング)\nmeta refresh(転送)\nbgsound(サウンド)\nその他(タグ以外のURL)";
  21. EXT_ITEMS = "HTML\nテキスト\n画像\n書庫\n音楽\n動画\nその他\n正規表現";
  22.  
  23. TAG_ITEMCOUNT = 7;
  24. TAGAHREF = 0;
  25. TAGIMGSRC = 1;
  26. TAGFRAMESRC = 2;
  27. TAGIFRAMESRC = 3;
  28. TAGMETAREFRESH = 4;
  29. TAGBGSOUND = 5;
  30. TAGOTHER = 6;
  31.  
  32. EXT_ITEMCOUNT = 8;
  33. EXTHTML = 0;
  34. EXTTEXT = 1;
  35. EXTIMAGE = 2;
  36. EXTARCHIVE = 3;
  37. EXTAUDIO = 4;
  38. EXTMOVIE = 5;
  39. EXTETC = 6;
  40. EXTREGEXP = 7;
  41.  
  42. function OnTreeMenuClick(irvine,action){
  43. //キューフォルダメニューのクリックイベント
  44.   urls = new Strings;
  45.   //読み込み
  46.   count = irvine.FolderData[SECTION,IDENT_COUNT];
  47.   if(isNaN(count)){
  48.     count = 0;
  49.   }
  50.   else{
  51.     count = parseInt(count);
  52.   }
  53.   //urlを加える
  54.   for(i = 0;i < count;i++){
  55.     urls.add(irvine.FolderData[SECTION,IDENT + i]);
  56.   }
  57.   
  58.   //スレッド数
  59.   thread = irvine.FolderData[SECTION,IDENT_THREAD];
  60.   if(isNaN(thread)){
  61.     thread = 1;
  62.   }
  63.   else{
  64.     thread = parseInt(thread);
  65.   }
  66.  
  67.   //階層数
  68.   depth = irvine.FolderData[SECTION,IDENT_DEPTH];
  69.   if(isNaN(depth)){
  70.     depth = 0;
  71.   }
  72.   else{
  73.     depth = parseInt(depth);
  74.   }
  75.   
  76.   //tag
  77.   tags = new Array;
  78.   for(i = 0; i < TAG_ITEMCOUNT; i++){
  79.     tags.add(parseInt(irvine.FolderData[SECTION,IDENT_TAG + i]));
  80.   }
  81.   //拡張子
  82.   exts = new Array;
  83.   for(i = 0; i < EXT_ITEMCOUNT; i++){
  84.     exts.add(parseInt(irvine.FolderData[SECTION,IDENT_EXT + i]));
  85.   }
  86.  
  87.   //初期設定をする
  88.   key = new Keyboard;
  89.   if(key.shift){
  90.     //URL
  91.     ret = textArea('インポートするURLを設定してください',urls.text);
  92.     if(!(ret == null)){
  93.       urls.text = ret;
  94.       //空白を消す
  95.       for(i = urls.count - 1; i >= 0; i--){
  96.         if(urls[i] == ''){
  97.           urls.delete(i);
  98.         }
  99.       }
  100.       
  101.       //書き込み
  102.       irvine.FolderData[SECTION,IDENT_COUNT] = urls.count;
  103.       for (i = 0;i < urls.count;i++){
  104.         irvine.FolderData[SECTION,IDENT + i] = urls[i];
  105.       }
  106.     }
  107.     //スレッド
  108.     ret = prompt('実行スレッド数を入力してください',thread);
  109.     if(!(ret == null)){
  110.       if(!isNaN(ret)){   
  111.         thread = parseInt(ret);
  112.         irvine.FolderData[SECTION,IDENT_THREAD] = thread;
  113.       }
  114.     }
  115.     //階層
  116.     ret = prompt('階層数を入力してください',depth);
  117.     if(!(ret == null)){
  118.       if(!isNaN(ret)){   
  119.         depth = parseInt(ret);
  120.         irvine.FolderData[SECTION,IDENT_DEPTH] = depth;
  121.       }
  122.     }
  123.     
  124.     //Tag
  125.     clb = new CheckListBox;
  126.     clb.items.text  = TAG_ITEMS;
  127.     //前設定
  128.     for(i = 0; i < clb.count; i++){
  129.       clb.setChecked(i,tags[i]);
  130.     }
  131.     
  132.     if(clb.execute('タグ','取得するタグを指定してください')){
  133.       for(i = 0; i < clb.count; i ++){
  134.         irvine.FolderData[SECTION,IDENT_TAG + i] = parseInt(clb.getChecked(i));
  135.         tags[i] = clb.getChecked(i);
  136.       }
  137.     }
  138.       
  139.     //拡張子設定
  140.     clb = new CheckListBox;
  141.     clb.items.text  = EXT_ITEMS;
  142.     //前設定
  143.     for(i = 0; i < clb.count; i++){
  144.       clb.setChecked(i,exts[i]);
  145.     }
  146.     
  147.     if(clb.execute('拡張子','選択する拡張子を指定してください')){
  148.       for(i = 0; i < clb.count; i ++){
  149.         irvine.FolderData[SECTION,IDENT_EXT + i] = parseInt(clb.getChecked(i));
  150.         exts[i] = clb.getChecked(i);
  151.       }
  152.     }
  153.     
  154.   }
  155.   
  156.   //チェック
  157.   ok = irvine.FolderDataExists(SECTION,IDENT_TAG + TAGAHREF);
  158.   
  159.   //リンクのインポートを起動
  160.   if(ok && (urls.count > 0)){
  161.     mgr = new ActiveXObject('Irvine.UrlManager');
  162.     mgr.Clear();
  163.     mgr.Depth = depth;
  164.     mgr.ThreadCount = thread;
  165.     //tag
  166.     mgr.TagAHREF = tags[TAGAHREF];
  167.     mgr.TagIMGSRC = tags[TAGIMGSRC];
  168.     mgr.TagFRAMESRC = tags[TAGFRAMESRC];
  169.     mgr.TagIFRAMESRC = tags[TAGIFRAMESRC];
  170.     mgr.TagMETAREFRESH = tags[TAGMETAREFRESH];
  171.     mgr.TagBGSOUND = tags[TAGBGSOUND];
  172.     mgr.TagOther = tags[TAGOTHER];
  173.     //拡張子
  174.     mgr.ExtHTML = exts[EXTHTML];
  175.     mgr.ExtTEXT = exts[EXTTEXT];
  176.     mgr.ExtIMAGE = exts[EXTIMAGE];
  177.     mgr.ExtARCHIVE = exts[EXTARCHIVE];
  178.     mgr.ExtAUDIO = exts[EXTAUDIO];
  179.     mgr.ExtMOVIE = exts[EXTMOVIE];
  180.     mgr.ExtEtc = exts[EXTETC];
  181.     mgr.ExtRegExp = exts[EXTREGEXP];
  182.     //url
  183.     mgr.AddQueue(urls.text);
  184.     //開始
  185.     mgr.Start();
  186.   }
  187.   else{
  188.     alert('Shiftを押しながら実行して初期設定をしてください');
  189.   }
  190. }
  191.  
  192. function OnMenuUpdate(irvine,action){
  193. //メニューの更新イベント
  194.  
  195. }
  196.