home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 January (DVD) / VPR980100.ISO / OLS / WIN32 / KAKIMAC / KAKIMACJ.LZH / K_CHPUSH.MAC < prev    next >
Text File  |  1995-09-03  |  3KB  |  115 lines

  1. // k_chpush.mac //クリップボード履歴を保存から取り出し、履歴に置く
  2. // 平成7年09月03日(日曜日) 午前11時02分07秒
  3. // by 水銀水(Suigwinsui)/小田明夫(HGD01603)
  4.  
  5. // k_CHist メインマクロ(Clipboard CHISTry)
  6. //   従属マクロ(k_CHpop.mac,k_CHpush.mac)
  7. // 前提として、常駐秀丸の存在、クリップボード履歴の既使用。
  8.  
  9. #hwndOrg=hidemaruhandle(0);
  10. disablebreak;
  11. #clipHist=getininum("hidemaru.ini","Env","ClipHist");
  12. if(!#clipHist){
  13.     message "●報告...「クリップボード履歴」を復元できません。\n"+
  14.         "●理由...「動作環境-編集」で「クリップボード履歴」がOFFに設定されています。\n"+
  15.         "●対応...「クリップボード履歴を取る」をONにするには、秀丸エディタを常駐するようにした上で、「その他(O)-動作環境(E)-編集(E)-クリップボード履歴を取る(H)」をチェックします。(^^;";
  16.     endmacroall;
  17. }
  18. $sBuffer=searchbuffer;#sFlug=searchoption;
  19. $f0=hidemarudir+"\\kakimac\\k_CHst00.kdf";
  20. if(filename!=""){// ファイル名がつけられている場合
  21.     call setFile;
  22. }else{// 無題秀丸の場合は、無題を(ダミー)に換えて、終了時に無題に戻す
  23.     changename "k_CHist.tmp";
  24.     #changeFileName=1;
  25.     call setFile;
  26. }
  27. #hwndTmp=hidemaruhandle(0);
  28. while(1){
  29.     escape;
  30.     gofiletop;
  31.     if(code==eof)break;
  32.     right;
  33.     searchup "\^%@##k_cHist##@%",regular;
  34.     if(result)deleteline;
  35.     searchdown "%@##k_cHist##@%";
  36.     if(!result){
  37.         gofileend;
  38.     }
  39.     beginsel;
  40.     gofiletop;
  41.     moveto seltopx,seltopy;
  42.     cut;
  43.     #c=#c+1;
  44. }
  45. call closeCHkdf;
  46.  
  47. title "● クリップボード履歴の復元は完了しました(^^)";
  48. if(#changeFileName){
  49.     setactivehidemaru #hwndOrg;
  50.     changename "";
  51.     insertfix "a";
  52.     undo;
  53. }
  54. setsearch $sBuffer,#sFlug;
  55. while(1){
  56.     ##k=##k+1;
  57.     if(##k>1000)break;
  58.  
  59. }
  60. title 1;
  61. endmacroall;
  62.  
  63. quetionGoYN:
  64. question "●確認...現在の「クリップボード履歴」を全て消去して、\n保存しておいた「クリップボード履歴」の状態を復元します。\n\n作業を開始して、よろしいですか?";
  65. if(!result)endmacroall;
  66. clearcliphist;
  67.  
  68. return;
  69.  
  70.  
  71. noHist:
  72.     message "●報告...「クリップボード履歴」を復元できません。\n"+
  73.         "●理由...k_cHist Ver.1 によって保存された「クリップボード履歴」情報ファイルが見あたりません<m(_._)m>\n"+
  74.         "●対応...クリップボード履歴が k_CHist によってまだ保存されていないじゃないかと……(^^; あるいは、履歴の保存先ファイルを消去したのかも(^^;";
  75.     setactivehidemaru #hwndOrg;
  76.     endmacroall;
  77. return;
  78.  
  79. closeCHkdf://close kdf file 
  80. setactivehidemaru #hwndTmp;
  81. #c=#c*2-1;
  82. while(#c>0){
  83.     undo;
  84.     #c=#c-1;
  85. }
  86. if(code!=eof)save;
  87. else #noExist=1;
  88. setactivehidemaru #hwndOrg;
  89. //if(#noExist)
  90. closehidemaruforced #hwndTmp;
  91. return;
  92.  
  93. setFile:
  94.     if(findhidemaru($f0)<0){
  95.         if(!existfile($f0))call noHist;
  96.         call quetionGoYN;
  97.         title "● クリップボード履歴を復元中   k_Chist Ver.1 水銀水";
  98.         openfile " /(1600,1600,100,100) "+$f0;
  99.         gofiletop;
  100.         if(code!=eof){
  101.  
  102.         }else{
  103.             #noExist=1;
  104.             call noHist;
  105.         }
  106.     }else{
  107.         call quetionGoYN;
  108.         title "● クリップボード履歴を復元中   k_Chist Ver.1 水銀水";
  109.         setactivehidemaru findhidemaru($f0);
  110.         setwindowpos 1800,1800,100,100;
  111.         gofiletop;
  112.     }
  113. return;
  114.  
  115.