home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 June / VPR0106A.BIN / OLS / FSC202 / fsc202.lzh / Press.fxl < prev    next >
Text File  |  2001-03-25  |  3KB  |  110 lines

  1. //---------------------------------------------------------------
  2. // FxEditor Macro Type1 : FxEditor Macro File
  3. //.                            Generator : FXL designer v1.02
  4. //---------------------------------------------------------------
  5.  
  6. // == 前処理 ==
  7.  
  8.  
  9. // == フォーム作成 ==
  10.     main.add();
  11.  
  12. // == オブジェクト生成 ==
  13.     main.width="337";
  14.     main.height="345";
  15.     main.caption="FXL Macro Program";
  16.  
  17.     main.listbox.add();    //ext object
  18.     main.listbox.top="38";
  19.     main.listbox.left="17";
  20.     main.listbox.height="154";
  21.     main.listbox.width="294";
  22.  
  23.     main.panel.label.add();    //object
  24.     main.panel.label.top="15";
  25.     main.panel.label.left="17";
  26.     main.panel.label.width="65";
  27.     main.panel.label.height="12";
  28.     main.panel.label.caption="ファイル一覧";
  29.  
  30.     main.panel.btn.add();    //object
  31.     main.panel.btn.top="263";
  32.     main.panel.btn.left="20";
  33.     main.panel.btn.width="52";
  34.     main.panel.btn.height="24";
  35.     main.panel.btn.caption="圧縮";
  36.  
  37.     main.panel.editbox.add();    //object
  38.     main.panel.editbox.top="228";
  39.     main.panel.editbox.left="17";
  40.     main.panel.editbox.width="294";
  41.     main.panel.editbox.height="20";
  42.  
  43.     main.panel.label.add();    //object
  44.     main.panel.label.top="211";
  45.     main.panel.label.left="27";
  46.     main.panel.label.width="79";
  47.     main.panel.label.height="12";
  48.     main.panel.label.caption="圧縮先フォルダ";
  49.  
  50.  
  51. // == 後処理 ==
  52.     main.panel.editbox.caption=str(sys.winpath,"\\デスクトップ\press.lzh");
  53.     main.deffunc.set(macro.body);
  54.     main.move("center","/step=0");
  55.     main.visible="true";
  56.     if (sys.cmdline.length() > 0) {
  57.         OnDrop(sys.cmdline(1));
  58.     }
  59.  
  60. // == サブルーチン ==
  61. function OnDrop()
  62. {
  63.     if (file.type(arg(1))=="normal") {
  64.         //データの重複チェック
  65.         x.set(main.listbox.text);
  66.         x.topline();
  67.         while (x.take()=="true") {
  68.             if (x.line == arg(1)) {
  69.                 return;
  70.             }
  71.         }
  72.         main.listbox.additem(arg(1));
  73.     }
  74. }
  75.  
  76. function OnBtnClick1()
  77. {
  78.     
  79.     if (file.type(main.panel.editbox.text)=="dir") {
  80.         if (confirm("ファイルは既に存在します\n上書きしますか?") != "Yes") {
  81.             return;
  82.         }
  83.     }
  84.     
  85.     y.clear();
  86.     y.savefile(main.panel.editbox.text);
  87.     x.set(main.listbox.text);
  88.     //最小のパスを求める
  89.     x.topline();
  90.     PATH_MIN = file.path(x.line);
  91.     path_min = len(PATH_MIN);
  92.     while (x.take()=="true") {
  93.         if (len(file.path(x.line)) < path_min) {
  94.             PATH_MIN = x.line;
  95.             path_min = len(PATH_MIN);
  96.         }
  97.     }
  98.     x.topline();
  99.     while (x.take()=="true") {
  100.         z.set(file.path(x.line));
  101.         path_adj = z.substring(path_min);
  102.         if (file.copy(x.line, str(main.panel.editbox.text,path_adj))!="true") {
  103.             alert("コピー失敗");
  104.             return;
  105.         }
  106.     }
  107.     alert("圧縮成功");
  108. }
  109.  
  110.