|
TAKA、番頭++ さん、先日はありがとうございました。
情けないオチとなってしまいました。
最初にwin2kでテストしたデータが日本語がないものでした。
日本語のデータで実行しましたところ、正しく処理されました。
お騒がせしました。
さて、
教えていただいた[hidesoft.4:02008 2001/04/21]をカスタマイズし、下記のものを
実行させましたところ、どうもメモリーに次々とオープンした秀丸のプロセスが残っ
た状態となってリソース不足でフリーズする結果となります。closehidemaruforced
だけではダメなのでしょうか。
(win2k,hidemaru3.08で)
(win98,hidemaru3.08では、if(#i > 1) closehidemaruforced #handle[#i - 1];をc
losehidemaruforced #handle[#i];として、saveas後に実行して同じ現象)
もし、見ていらっしゃったら、作者の山紫水明さんの環境では、そうはならないので
しょうか。
(変更した部分が悪影響しているかなぁ)
もう一点質問なのですが、全てのマクロコマンドのオペランドの説明、レファレンス
は、どこかにあるでしょうか。(helpに全て書かれてないですよねぇ。注意不足?)
よろしくご教授ください。
//------------------------------------------------------------------//
// #handle_1 マクロ起動ウィンドウ
// #handle_g grep結果ウィンドウ
//
#starttime = tickcount;
#handle_1 = hidemaruhandle( 0 );
$current_dir = "D:\\My Documents\\xxxxxx\\public_html\\";
grep ".+", "*.phtml;*.inc;*.sub;*.php",$current_dir,regular,subdir,icon,file
list;
#n = result;
if(#n > 0){
replaceallfast "\\([0-9]+\\)$", "", regular;
//行番号を削除
gofiletop;
#i = 1;
while( #i <= #n ) {
$file[#i] = gettext( 0, y, linelen, y );
down;
#i = #i + 1;
}
#handle_g = hidemaruhandle( 0 );
changename "grep.tmp";
save;
closehidemaruforced #handle_1;
//
#i = 1;
while( #i <= #n ) {
openfile "/h " + $current_dir + $file[#i];
#handle[#i] = hidemaruhandle(0);
if(#i > 1) closehidemaruforced #handle[#i - 1];
call Replace;
if(updated == 1){ // grep filelistに変更ファイルをマーク
setactivehidemaru #handle_g;
gofiletop;
down #i-1;
insert "* ";
save;
}
setactivehidemaru #handle[#i];
saveas filename, euc, lf;
#i = #i + 1;
}
closehidemaruforced #handle_g;
#time = tickcount - #starttime;
message "終わりました\n" + str(#time/1000) + " 秒かかりました";
}else{
message "該当のファイルはありませんでした\n";
}
endmacro;
//
//処理
Replace:
replaceallfast "i18n_internal_encoding","mb_internal_encoding";
・・・・・・replaceallfast 13行
replaceallfast "^mail\\(|[\\t| ]mailil\\(","mb_send_mail\\(",regular;
return;
//------------------------------------------------------------------//
|
|