home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1998 January (DVD)
/
VPR980100.ISO
/
OLS
/
WIN32
/
KAKIMAC
/
KAKIMACG.LZH
/
K_GREPLK.MAC
< prev
next >
Wrap
Text File
|
1995-12-21
|
10KB
|
339 lines
//【マクロ名】k_grepLK.mac by 水銀水(Suigwinsui)/小田 明夫 (HGD01603)
//[★設定★]------------------お約束パターン(^^; 書きマクロのお好み設定コ~ナ~~~(^^)-----------
#ENDbyRetrun=0; // [k_LOOK起動画面でリターンで終了]0=終了、1="return"は無効で、[Esc]のみで終了可能。
//---------------------------------------------------------------------------------------------------
if(selecting)escape;
call starting;
enableinvert;
disablebreak;
while(1){kktop0:##kaD=0;##kaU=0;
##k=keypressed;
if(imestate)imeswitch;
kktop:
if(##fromU){##kaD=0;##fromU=0;}
if(##fromD){##kaU=0;##fromD=0;}
if(##k==0x1B){
goto ending;
}else if(##k==13){//return
if(!#ENDbyRetrun)goto ending;
}else if(##k==0x4C){//L ログ閲覧マクロへサイクリックに切り替え
call checkLOGLfile;
}else if(##k==38){//UP
if(##kaU==0){
golinetop;
goscreentop;
title "▲低速 [↑]Mid [↓]下 "+$titleMSG1;
while(1){
##k=keypressed;
call WaitTime #wD1;
up;
if(!result){beep;##kaU=1;break;}
else if(##k==32){
title "△低停 [↑]Mid [↓]下 "+$titleMSG2;
while(1){
##k=keypressed;
if(##k!=0)break;
if(imestate)imeswitch;
}
if(##k==32){
title "▲低速 [↑]Mid [↓]下 "+$titleMSG1;
continue;
}else if(##k!=0){
##kaU=1;##fromU=1;goto kktop;}
}else if(##k!=0){
##kaU=1;##fromU=1;
title $hmH+"閲覧"+$titleMSG0;
goto kktop;
}
if(imestate)imeswitch;
}
}else if(##kaU==1){
golinetop;
title "▲中速 [↑]Top [↓]下 "+$titleMSG1;
while(1){
##k=keypressed;
call WaitTime #wD2;
up 2;
if(!result){beep;##kaU=0;break;}
else if(##k==32){
title "△中停 [↑]Top [↓]下 "+$titleMSG2;
while(1){
##k=keypressed;
if(##k!=0)break;
if(imestate)imeswitch;
}
if(##k==32){
title "▲中速 [↑]Top [↓]下 "+$titleMSG1;
continue;
}else if(##k!=0){
##kaU=2;##fromU=1;goto kktop;}
}else if(##k!=0){
##kaU=2;##fromU=1;
title $hmH+"閲覧"+$titleMSG0;
goto kktop;
}
if(imestate)imeswitch;
}
}else if(##kaU==2){
golinetop;
title "▲高速 [↑]Low [↓]下 "+$titleMSG1;
while(1){
##k=keypressed;
up 4;
call WaitTime #wD3;
if(!result){beep;##kaU=0;break;}
else if(##k==32){
title "△高停 [↑]Low [↓]下 "+$titleMSG2;
while(1){
##k=keypressed;
if(##k!=0)break;
if(imestate)imeswitch;
}
if(##k==32){
title "▲高速 [↑]Low [↓]下 "+$titleMSG1;
continue;
}else if(##k!=0){
##kaU=0;##fromU=1;goto kktop;}
}else if(##k!=0){
##kaU=0;##fromU=1;
title $hmH+"閲覧"+$titleMSG0;
goto kktop;
}
if(imestate)imeswitch;
}
}
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==40){//DOWN
if(##kaD==0){
golinetop;
goscreenend;
title "▼低速 [↑]上 [↓]Mid "+$titleMSG1;
while(1){
##k=keypressed;
down;
call WaitTime #wD1;
if(!result){beep;##kaD=1;break;}
else if(##k==32){
title "▽低停 [↑]上 [↓]Mid "+$titleMSG2;
while(1){
##k=keypressed;
if(##k!=0)break;
if(imestate)imeswitch;
}
if(##k==32){
title "▼低速 [↑]上 [↓]Mid "+$titleMSG1;
continue;
}else if(##k!=0){
##kaD=1;##fromD=1;goto kktop;}
}else if(##k!=0){
##kaD=1;##fromD=1;
title $hmH+"閲覧"+$titleMSG0;
goto kktop;
}
if(imestate)imeswitch;
}
}else if(##kaD==1){
golinetop;
title "▼中速 [↑]上 [↓]Top "+$titleMSG1;
while(1){
##k=keypressed;
down 2;
call WaitTime #wD2;
if(!result){beep;##kaD=0;break;}
else if(##k==32){
title "▽中停 [↑]上 [↓]Top "+$titleMSG2;
while(1){
##k=keypressed;
if(##k!=0)break;
if(imestate)imeswitch;
}
if(##k==32){
title "▼中速 [↑]上 [↓]Top "+$titleMSG1;
continue;
}else if(##k!=0){
##kaD=2;##fromD=1;goto kktop;}
}else if(##k!=0){
##kaD=2;##fromD=1;
title $hmH+"閲覧"+$titleMSG0;
goto kktop;
}
if(imestate)imeswitch;
}
}else if(##kaD==2){
golinetop;
title "▼高速 [↑]上 [↓]Low "+$titleMSG1;
while(1){
##k=keypressed;
down 4;
call WaitTime #wD3;
if(!result){beep;##kaD=0;break;}
else if(##k==32){
title "▽高停 [↑]上 [↓]Low "+$titleMSG2;
while(1){
##k=keypressed;
if(##k!=0)break;
if(imestate)imeswitch;
}
if(##k==32){
title "▼高速 [↑]上 [↓]Low "+$titleMSG1;
continue;
}else if(##k!=0){
##kaD=0;##fromD=1;goto kktop;}
}else if(##k!=0){
##kaD=0;##fromD=1;
title $hmH+"閲覧"+$titleMSG0;
goto kktop;
}
if(imestate)imeswitch;
}
}
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==70){//fF^f//検索
execmacro "k_grepLS.mac";// k_GREP_Look_Search
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==84||##k==36){//t,T,Home
gofiletop;
title $hmH+"文頭"+$titleMSG0;
}else if(##k==69||##k==35){//e,E,End
gofileend;
title $hmH+"文末"+$titleMSG0;
}else if(##k==78){//n-display filename
title "秀丸 - "+filename;// title 0;の代わり(^^;<title 0はタイトルキープの極めて便利な使い方がある(^^)>
call WaitTime 500;
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==74){JumpByNum://n,j行番号ジャンプ
disableerrormsg;
jump;
if(!result){
call dispCaution "ジャンプ先の行番号は『 1~"+str(linecount)+" 』の範囲です";
goto JumpByNum;
}
enableerrormsg;
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==77){//m maximize 通常<->最大
if(windowstate!=3)showwindow 3;
else showwindow 1;
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==33){//PgUp
prevpage;
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==34){//PgDn or Shift(on extend set)
nextpage;
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==17 && #exKey==1){//Ctrl(on extend set =>PgUp)
prevpage;
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==16 && #exKey==1){//Shift(on extend set => PgDn)
nextpage;
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==0x53){//S:設定
execmacro "k_greplT.mac";
call getIniDW;
}else if(##k==112||##k==72){//F-1 hH help
call k_helpLook 16;
}else if(##k==79){//o この秀丸上で、元の位置へ移動
if(hidemaruhandle(0)!=#hwndOrgHM){
if(x==#orgXnow && y==#orgYnow)beep;//移動していない場合はビープ
else moveto #orgXnow,#orgYnow;
}else{
moveto #orgX,#orgY;
}
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==8){//BackSpace
if(hidemaruhandle(0)!=#hwndOrgHM)setactivehidemaru #hwndOrgHM;
else if(x==#orgX && y==#orgY)beep;
moveto #orgX,#orgY;
call checkHWNDhm;
title $hmH+"閲覧"+$titleMSG0;
}else if(##k==32){// space 下方向自動スクロール
##k=40;
goto kktop;
}else if(##k==83){//上下移動のスピード設定
call setSpeedByWaitDev;
title $hmH+"閲覧"+$titleMSG0;
}else{
if(##k==0)goto kktop0;
else beep;
}
}
dispCaution://キャプションに報告ビープして一定時間表示
beep;
title $hmH+$$1;
call WaitTime 600;
return;
checkHWNDhm:
if(hidemaruhandle(0)==#hwndOrgHM){
$hmH="●k_GREP ";
}else $hmH="○";
return;
WaitTime://時間待ち、空処理
while(1){##n=##n+1;
if(##n>=##1)break;}
return;
starting:
if(imestate){imeswitch;#imeYN=1;}
#hwndOrgHM=hidemaruhandle(0);
#orgX=x;#orgY=y;
$sBuffer=searchbuffer;#sFlug=searchoption;
$f0=hidemarudir+"\\kakimac\\kakimac.kdf";
call getIniDW;
$titleMSG0=" [↑/↓/Sp/t/e/o]動 [f/j/m/n/s/F1]操 [Bs/Esc]元/了";
$titleMSG1="[Sp/t/e/o]止 [f/j/m/n/s/F1]操 [Bs/Esc]元/了";
$titleMSG2="[Sp/t/e/o]動 [f/j/m/n/s/F1]操 [Bs/Esc]元/了";
$hmH="●k_GREP ";
title $hmH+"閲覧"+$titleMSG0;
#wsINI=windowstate;
#SF=getininum("hidemaru.ini","Env","SelectFound");
if(!#SF){writeininum "hidemaru.ini","Env","SelectFound",1;envchanged;}
#k_SRCH_use=0; // [検索でk_SRCH使用]k_LOOKの検索:[f]で、0=k_SRCHサブセット版使用、1=k_LOOK.macそのものを完全使用。
#exKey=1; //[キー拡張設定]#exKey=1;CtrlでPgUp、ShiftでPgDnが行える。左手重視タイプ。#exKey=0:Ctrl,Shiftキーは無反応
#closeAll=0; //[終了オプション]起動された秀丸でない場合で最後の一つの秀丸になった時、0="Q"では終了しない、1=終了する。
#keepOrgSize=1; //[起動された秀丸の終了時のサイズ]0="M"で変更されたままで元に戻さない。1=起動時のサイズに戻す
return;
ending:
escape;
if(hidemaruhandle(0)==#hwndOrgHM){
if(#keepOrgSize)
showwindow #wsINI;
}
if(#imeYN){if(!imestate)imeswitch;}
setsearch $sBuffer,#sFlug;
if(!#SF){writeininum "hidemaru.ini","Env","SelectFound",0;envchanged;}
if(##1)exit;
else endmacro;// k_LOOG用などは解除
return;
getIniDW:
#wD1=getininum($f0,"LOOK00","waitDev1");
#wD2=getininum($f0,"LOOK00","waitDev2");
#wD3=getininum($f0,"LOOK00","waitDev3");
return;
checkLOGLfile:
$HMMacroDir=getinistr("hidemaru.ini","Env","MacroPath");
if($HMMacroDir=="")$HMMacroDir=hidemarudir;
if(existfile($HMMacroDir+"\\k_LOOG.mac")){
writeininum $f0,"LOOK00","ChangeMode",1;
endmacro;
}else{
beep;
message "●報告...ログファイル閲覧は、まだ準備ができていません(^^;\n"+
"●理由...ログ版の k_logL.mac がありません\n"+
"●対策...k_logL.macとk_LOOG.macをマクロ用ディレクトリに移して、k_LOOG.macを実行してください。";
}
return;
k_helpLook://外部分離ヘルプ起動
$f0h=hidemarudir+"\\kakimac\\k_grep00.kdf";
writeininum $f0h,"IT0","msg",##1;
execmacro "k_grep3m.mac";
return;