home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1998 January (DVD)
/
VPR980100.ISO
/
OLS
/
WIN32
/
KAKIMAC
/
KAKIMACJ.LZH
/
K_CHPOP.MAC
< prev
next >
Wrap
Text File
|
1995-09-03
|
3KB
|
111 lines
// k_chpop.mac //クリップボード履歴を保存
// 平成7年09月03日(日曜日) 午前01時36分38秒
// by 水銀水(Suigwinsui)/小田明夫(HGD01603)
// k_CHist メインマクロ(Clipboard CHISTry)
// 従属マクロ(k_CHpop.mac,k_CHpush.mac)
//
// 前提として、常駐秀丸の存在、クリップボード履歴の既使用。
getcliphist #i;
if(!result){
message "●報告...保存すべきクリップボード履歴が取得できません。\n"+
"●理由...下記の3つが考えられます。\n (1)クリップボード履歴の「全消去」をおこなった\n (2)常駐秀丸がない\n (3)動作環境で「クリップボード履歴を取る」がOFFになっている\n"+
"●対策...それぞれの原因への対応策です。\n (1)コピーか切り抜きの後にk_Chistを実行します\n (2)秀丸を常駐させます\n (3)「クリップボード履歴を取る」をONにするには、「その他(O)-動作環境(E)-編集(E)-クリップボード履歴を取る(H)」をチェックします。なお、バッファは大きな方が履歴を長くとれます、一応(^^;";
endmacroall;
}
$sBuffer=searchbuffer;#sFlug=searchoption;
#hwndOrg=hidemaruhandle(0);
$f0=hidemarudir+"\\kakimac\\k_CHst00.kdf";
if(filename!=""){// ファイル名がつけられている場合
if(findhidemaru($f0)<0){
openfile " /(1800,1800,100,100) "+$f0;
}else{
setactivehidemaru findhidemaru($f0);
showwindow 0;
}
}else{// 無題秀丸の場合は、無題を(ダミー)に換えて、終了時に無題に戻す
changename "k_CHist.tmp";
#changeFileName=1;
if(findhidemaru($f0)<0){
openfile " /(1800,1800,100,100) "+$f0;
}else{
setactivehidemaru findhidemaru($f0);
showwindow 0;
}
}
gofiletop;
if(code!=eof){
selectall;
delete;
}
#hwndTmp=hidemaruhandle(0);
while(1){
getcliphist #i;
if(!result){
call endOpe;
break;
}
call popClip #i;
#i=#i+1;
}
call reSort;
setactivehidemaru #hwndOrg;
closehidemaruforced #hwndTmp;
title "● 現在のクリップボード履歴を保存しました(^^)";
if(#changeFileName){
#hwndNow=hidemaruhandle(0);
if(#hwndOrg!=#hwndNow)setactivehidemaru #hwndOrg;
changename "";
insertfix "a";// (無題)(変更)の表示の(変更)を消すための操作(^^;ゞ
undo;
if(#hwndOrg!=#hwndNow)setactivehidemaru #hwndNow;
}
setsearch $sBuffer,#sFlug;
while(1){
##k=##k+1;
if(##k>1000)break;
}
title 1;
endmacroall;
reSort://getcliphistをやると、履歴の順番が反転する。これを再度、全て反転させて元に戻す。
while(1){
getcliphist ##i;
if(!result){
break;
}
##i=##i+1;
}
return;
endOpe:
setactivehidemaru #hwndTmp;
gofiletop;
deleteline;
if(code!=eof)save;
else #noExist=1;
setactivehidemaru #hwndOrg;
if(#noExist){
insertreturn;
save;
}
return;
popClip://クリップボード履歴の内容を取り出し、保存する
gofiletop;
insert "%@##k_cHist##@%";
call InsertReturn;
paste;
return;
InsertReturn:
if( overwrite ) {
overwriteswitch; insertreturn; overwriteswitch;
} else {
insertreturn;
}
return;