home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 January (DVD) / VPR980100.ISO / OLS / WIN32 / KAKIMAC / KAKIMACA.LZH / K_DESK5S.MAC < prev    next >
Text File  |  1994-12-07  |  11KB  |  201 lines

  1. //【マクロ名】k_DESK5s.mac:番号を選んでデスクトップを記憶する従属マクロ
  2. //            k_DESK Ver.1.51   by 水銀水(Suigwinsui)/小田 明夫(HGD01603)
  3. //                                  平成06年12月07日(水) 午前08時50分38秒
  4. //            (k_DESK51.macをk_DESK Ver.1.51 のメインマクロとします)
  5. //【連作情報】日本語文書作成支援「書きマクロ」αシリーズ Vol.1Ver.1#K2/3(秀丸エディタVer.1.32対応版)
  6. //【使用対象】秀丸 for Windows 上で日本語文章を快適に処理したい全てのみなさま。
  7. //【機能概略】秀丸に「複数デスクトップ保存/復元」機能を追加する。やめられまへん!(^^)!、ほんまでっせ!!!
  8. //【使用方法】k_DESK(Ver.1.51)の機能を秀丸エディタで利用するには、 
  9. //            k_DESK51.mac だけを登録/実行してください。
  10. //【構  成】3macro= k_DESK51.mac,k_DESK5s.mac,k_DESK5i.mac
  11. top_desk:
  12. $k_DESKFB0=hidemarudir+"\\kakimac\\k_DESK00.kdf";
  13. $k_DESKFB1=hidemarudir+"\\kakimac\\k_DESK01.kdf";
  14. $k_DESKFB2=hidemarudir+"\\kakimac\\k_DESK02.kdf";
  15. $k_DESKFB3=hidemarudir+"\\kakimac\\k_DESK03.kdf";
  16. $k_DESKFB4=hidemarudir+"\\kakimac\\k_DESK04.kdf";
  17. $k_DESKFB5=hidemarudir+"\\kakimac\\k_DESK05.kdf";
  18. $k_DESKFB6=hidemarudir+"\\kakimac\\k_DESK06.kdf";
  19. $k_DESKFB7=hidemarudir+"\\kakimac\\k_DESK07.kdf";
  20. $k_DESKFB8=hidemarudir+"\\kakimac\\k_DESK08.kdf";
  21. $k_DESKFB9=hidemarudir+"\\kakimac\\k_DESK09.kdf";
  22. $kb0=getinistr($k_DESKFB0,"k_DESKMem","BookName");
  23. $kb1=getinistr($k_DESKFB1,"k_DESKMem","BookName");
  24. $kb2=getinistr($k_DESKFB2,"k_DESKMem","BookName");
  25. $kb3=getinistr($k_DESKFB3,"k_DESKMem","BookName");
  26. $kb4=getinistr($k_DESKFB4,"k_DESKMem","BookName");
  27. $kb5=getinistr($k_DESKFB5,"k_DESKMem","BookName");
  28. $kb6=getinistr($k_DESKFB6,"k_DESKMem","BookName");
  29. $kb7=getinistr($k_DESKFB7,"k_DESKMem","BookName");
  30. $kb8=getinistr($k_DESKFB8,"k_DESKMem","BookName");
  31. $kb9=getinistr($k_DESKFB9,"k_DESKMem","BookName");
  32. #B=getininum($k_DESKFB0,"k_DESKMem","SetNum");
  33. menuDispS:
  34. menu     "●記憶する『 Files Set 』選択  k_DESK Ver.1.51 水銀水",
  35.     "▼Save Files Set  &a   "+$kb0,//+$sM[0],
  36.     "▼Save Files Set  &b   "+$kb1,//+$sM[1],
  37.     "▼Save Files Set  &c   "+$kb2,//+$sM[2],
  38.     "▼Save Files Set  &d   "+$kb3,//+$sM[3],
  39.     "▼Save Files Set  &e   "+$kb4,//+$sM[4],
  40.     "▼Save Files Set  &f   "+$kb5,//+$sM[5],
  41.     "▼Save Files Set  &g   "+$kb6,//+$sM[6],
  42.     "▼Save Files Set  &h   "+$kb7,//+$sM[7],
  43.     "▼Save Files Set  &i   "+$kb8,//+$sM[8],
  44.     "▼Save Files Set  &j   "+$kb9,//+$sM[9],
  45.     "━━━━━━━━━━━━━━━━━━━━━━━━ ",
  46.     "──────────停止 [Esc]─────────",
  47.     "━━━━━━━━━━━━━━━━━━━━━━━━ ",
  48. //    "  ▲デスクトップ『復元』画面へ移動 &Remem.",
  49. //    "────────────────[設定 &Set]───",
  50.     "────────────────[初期化 &0]───";
  51. if(result==0)endmacro;
  52. else if(result==1){message "●k_DESK Files Set(デスクトップ)保存の概略\n現在のデスクトップを、クリックしたメニューの場所に登録します。\n"+
  53.                 "登録する際には、Files Set(デスクトップ)の名前を必ず付けてください。後でなんのことやら分からなくなります(^^;"+
  54.                 "\n なお、(更新)中のファイルがあっても、Files Set(デスクトップ)の保存には何等問題はありません。(ファイルを保存する訳ではありませんので)"+
  55.                 "\n────────────────────────\n"+
  56.                 " Special Thanks to masasan in Seattle, U.S.A.\n"+
  57.                 "(C)1994 水銀水(Suigwinsui)/小田明夫(HGD01603)";
  58.                 
  59. goto top_desk;
  60. }else if(result==2) {#B=0;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",0;
  61. }else if(result==3) {#B=1;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",1;
  62. }else if(result==4) {#B=2;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",2;
  63. }else if(result==5) {#B=3;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",3;
  64. }else if(result==6) {#B=4;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",4;
  65. }else if(result==7) {#B=5;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",5;
  66. }else if(result==8) {#B=6;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",6;
  67. }else if(result==9) {#B=7;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",7;
  68. }else if(result==10){#B=8;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",8;
  69. }else if(result==11){#B=9;//writeininum $k_DESKFB0,"k_DESKSet","SetNum",9;
  70. }else if(result==13){endmacro;//endmacroall;
  71. //}else if(result==15){execmacro "k_desk51.mac";//endmacroall;
  72. //}else if(result==16){call optionSetting;goto top_desk;
  73. }else if(result==15){execmacro "k_desk5i.mac";goto top_desk;
  74. }else goto top_desk;
  75. $BookName=hidemarudir+"\\kakimac\\"+"k_DESK0"+str(#B)+".kdf";
  76. $TitleHead=getinistr($BookName,"k_DESKMem","BookName");
  77. if($TitleHead==""){
  78.         $InS=input("●第"+str(#B+1)+"番デスクトップ名入力\n(最大長は、全角で20字まで)");if(!result)goto menuDispS;//endmacro;
  79.         if($InS=="")goto menuDispS;//endmacro;
  80.         #LimLen=strlen($InS);
  81.         if(#LimLen>40){
  82.             $InS=leftstr($InS,40);
  83.             question "●注意...指定文字列が長すぎます(;_;)\n"+
  84.             "●理由... k_DESK Ver.1 へ登録できる『ほぼデスクトップ』の名前の長さは、半角40文字までです。\n"+
  85.             "────────────────────────────\n"+
  86.             +$InS+
  87.             "\n────────────────────────────\n"+
  88.             "●対策...上記に、半角40字で切った名前を表示しています。\n■この名前で登録してよろしいですか?\n"+
  89.             "────────────────────────\n";
  90.             if(!result)goto menuDispS;//if(!result)endmacro;
  91.         }
  92.     question "●登録するFiles Set(デスクトップ)名の確認\n"+
  93.             "▼第"+str(#B+1)+"番 Files Set\n"+
  94.             "───────────────────────\n"+
  95.             $InS+
  96.             "\n──────────────────────\n"+
  97.             "■この名前でFiles Set(デスクトップ)を登録して、よろしいですか?\n";
  98.             if(!result)goto menuDispS;//if(!result)endmacro;
  99.  
  100.         writeinistr $BookName,"k_DESKMem","BookName",$InS;
  101.         $TitleHead=$InS;
  102.         
  103. }else{
  104.     question "●登録するFiles Set(デスクトップ)名の確認\n"+
  105.             "▼第"+str(#B+1)+"番 Files Set\n"+
  106.             "───────────────────────\n"+
  107.             $TitleHead+
  108.             "\n──────────────────────\n"+
  109.             "(既存の名前を元に書き換える場合は[いいえ]を選択)\n\n"+
  110.             "■この名前で登録してよろしいですか?\n";
  111.                 if(!result){
  112.                     $InS=input("●第"+str(#B+1)+"番 Files Set(デスクトップ) 名入力\n・最大長:全角20  ・中断:[キャンセル]\n現設:"+$TitleHead,$TitleHead);
  113.                     if(!result)goto menuDispS;
  114.                     if($InS=="")goto menuDispS;//endmacro;
  115.                     #LimLen=strlen($InS);
  116.                     if(#LimLen>40){
  117.                         $InS=leftstr($InS,40);
  118.                         question "●ご注意!!!...指定文字列が長すぎます(;_;)\n"+
  119.                         "●理由... k_DESK Ver.1 へ登録できる検索文字列の長さは、半角40文字までです。\n"+
  120.                         "──────────────────────────────\n"+
  121.                         +$InS+
  122.                         "\n──────────────────────────────\n"+
  123.                         "●対策...上記に、半角40字で切った名前を表示しています。\n■この名前で登録してよろしいですか?\n";
  124.                         if(!result)goto menuDispS;
  125.                     }
  126.                     writeinistr $BookName,"k_DESKMem","BookName",$InS;
  127.                     $TitleHead=$InS;
  128.                 }
  129.  
  130. }
  131. #maxHidemaruCount=hidemarucount;
  132. // 全ウインドウの未保存状態の事前チェック// 当バージョンでは未対応 
  133. writeininum $BookName,"k_DESKMem","maxFileNum",#maxHidemaruCount;
  134. #i=#maxHidemaruCount;
  135. while(1){
  136.     $sectionOfBookName="F"+str(#i);
  137.     $FileNameA[#i] =  filename[#maxHidemaruCount-1];
  138.     setactivehidemaru ( findhidemaru( $FileNameA[#i] ));
  139.     if(updated)#updatedWindows=1;
  140.     #WposX[#i]=windowposx;if(#WposX[#i]<0)#WposX[#i]=0;
  141.     #WposY[#i]=windowposy;if(#WposY[#i]<0)#WposY[#i]=0;
  142.     $sectionName[#i]=midstr($FileNameA[#i],strstr($FileNameA[#i],"."),4);
  143.     if(getininum("hidemaru.ini",$sectionName[#i],"FontSize")!=0){
  144.         #FontS[#i]=getininum("hidemaru.ini",$sectionName[#i],"FontSize");
  145.         #LineF[#i]=getininum("hidemaru.ini",$sectionName[#i],"LF");//LineFeed=0広い
  146.     }else{
  147.         #FontS[#i]=getininum("hidemaru.ini","Default","FontSize");
  148.         #LineF[#i]=getininum("hidemaru.ini","Default","LF");
  149.     }
  150.     #posX[#i]=x;
  151.     #posY[#i]=y;
  152.     #Wwidth[#i]=windowwidth;
  153.     if(#LineF[#i])#Wheight[#i]=windowheight;
  154.     else #Wheight[#i]=windowheight-1;//画面最大化の時の処理も必要(V1.33では超楽)
  155.     #Lwidth[#i]=width;
  156.     #readOnly[#i]=readonly;
  157.     #BrowseMode[#i]=browsemode;
  158. //    call joutaiCheck;
  159. //書き込み
  160.     writeinistr $BookName,$sectionOfBookName,"Fname",$FileNameA[#i];
  161.     writeininum $BookName,$sectionOfBookName,"WposX",#WposX[#i];
  162.     writeininum $BookName,$sectionOfBookName,"WposY",#WposY[#i];
  163.     writeininum $BookName,$sectionOfBookName,"posX",#posX[#i];
  164.     writeininum $BookName,$sectionOfBookName,"posY",#posY[#i];
  165.     writeininum $BookName,$sectionOfBookName,"Wwidth",#Wwidth[#i];
  166.     writeininum $BookName,$sectionOfBookName,"Wheight",#Wheight[#i];
  167.     writeininum $BookName,$sectionOfBookName,"Lwidth",#Lwidth[#i];
  168.     writeininum $BookName,$sectionOfBookName,"readOnly",#readOnly[#i];
  169.     writeininum $BookName,$sectionOfBookName,"BrowseMode",#BrowseMode[#i];
  170.     writeininum $BookName,$sectionOfBookName,"FontSize",#FontS[#i];
  171.     writeininum $BookName,$sectionOfBookName,"LineFeed",#LineF[#i];
  172.     #i=#i-1;
  173.     if(#i==0)break;
  174. }
  175. setactivehidemaru ( findhidemaru( $FileNameA[0] ));
  176. call dispResultOfFilesSet;
  177. if(#updatedWindows)call msg_save5;
  178. endmacro;
  179. msg_save5:
  180. message  "●注意...保存されてない、(更新)されたファイルがありました!!! \n"+
  181.     "●理由...デスクトップの保存作業は、正常に完了しました(^^)。ただし、k_DESKはデスクトップを保存しますが、ファイルの保存は行なっておりません。"+
  182.     "つまり、「書きかけファイル」があっても知らんプリです(^^;。でも、それだけじゃあまりに、よそよそしい。で、『k_DESK実行中に、(更新)中で、保存されていないファイルがあった』事をいまお知らせしている次第です。\n"+
  183.     "●対策...秀丸エディタを終了する場合には、k_DESKの実行の際、保存されていないファイルがあったことを夢夢、忘るるべからず!!!\n";
  184. return;
  185. dispResultOfFilesSet:
  186. $FileNameA[0]="●Files Set(デスクトップ)保存fileの結果報告     k_DESK V1.51 水銀水";
  187. $FileNameA[#maxHidemaruCount+1]="●登録名="+$TitleHead;
  188. $FileNameA[#maxHidemaruCount+2]="───────────────────────────────";
  189. $FileNameA[#maxHidemaruCount+3]="■上記ファイルと登録名の正常保存を完了しました (^^) [終了:Esc]";
  190. menuarray $FileNameA,#maxHidemaruCount+4;
  191. if(result==0)endmacro;
  192. else if(result==1){message "●Files Set(デスクトップ)結果報告の概略\nk_DESK により登録/保存が完了した、現在のデスクトップにある(開かれている)全ファイルのフルパス名、登録名を表示します。\n"+
  193.                 "当バージョンでは、どこをクリックしても、これ以上の報告はなく、終了します。\n(保存されていないファイルがある場合は、続いて注意表示があります)\n"+
  194.                 "次回公開分(秀丸Ver.1.33対応)では、詳細報告も付ける予定です。(機能も充実。V1.33はスゴいゾッ!!!)"+
  195.                 "\n────────────────────────\n"+
  196.                 " Special Thanks to masasan in Seattle, U.S.A.\n"+
  197.                 "(C)1994 水銀水(Suigwinsui)/小田明夫(HGD01603)";
  198. goto dispResultOfFilesSet;}
  199. return;
  200.  
  201.