RE 06212 RE 06202 文字変換マNo.06220
ho さん 00/07/24 09:47
 
hoです。
ありがとうございます。

山紫水明さんの<xxxxxxxxxxxxxx@maruo.co.jp>から
>    hoさん こんばんは。

こんにちは。hoです。
お手数をおかけしております。

>これを
>     "3) 英字全角に",
>     "4) 英字半角に",
>     "5) 数字全角に",
>     "6) 数字半角に",
>     "7) カタカナ全角に",
>     "8) カタカナ半角に";
>としますか? それとも他のご希望がありますか?

以上のものでばっちりです。

当初のイメージではEmEditorを使っていた影響で、、
メニューの最初に「全角・半角変換」がきて、次のダイアログで種別を設定
できると便利かなと思いました。

「半角・全角変換」
対象→「カタカナ」「英字」「数字」
「動作」→「全角に変換」「半角に変換」
という具合にチェックを入れながらできると、複数選べる気がしました。

面倒をおかけしてすみません。
何とか他のエディタを使わずに「秀丸」でやりくりできないかと
日々思っている次第です。

--
mailto:xxxxx@lilac.ocn.ne.jp

[ ]
RE:06220 RE 06212 RE 06202 文字変換マNo.06226
山紫水明 さん 00/07/24 23:26
 
    hoさん こんばんは。

》当初のイメージではEmEditorを使っていた影響で、、
》メニューの最初に「全角・半角変換」がきて、次のダイアログで種別を設定
》できると便利かなと思いました。

 まったく同じようにしてダイアログを出すことも可能ですが,ちょっとこみ入っ
てきますので,次のようにしてみました。長くなってくると思わぬバグがあるかも
しれませんので,何かありましたら再度ご発言ください。

》何とか他のエディタを使わずに「秀丸」でやりくりできないかと
》日々思っている次第です。

 多分エディタでできることは,秀丸でもできると思います。遠慮なくご質問くだ
さい。

 では, (^^)/~
                                        山紫水明

//--------- 文字置換.Mac -----------------------------------//
//              2000.7.22   Ver.1
//              2000.7.24   Ver.2

call Save_search;
if(!selecting){
    disableinvert;
    question "全文で置換しますか?";
    if(!result) endmacro;
    else selectall;
}
#bx=seltopx;    #by=seltopy;
#ex=selendx;    #ey=selendy;

Mojimenu:
menu "文 字 の 置 換",
     "A) 英字大文字に",
     "B) 英字小文字に",
     " 《全角に変換》",
     "C) 英 数 字",
     "D) 英    字",
     "E) 数    字",
     "F) カタカナ",
     " 《半角に変換》",
     "G) 英 数 字",
     "H) 英    字",
     "I ) 数    字",
     "J) カタカナ";
#r = result;
//endmacro;
if(#r > 3) {escape; moveto #ex, #ey;}
if(#r == 0) endmacro;
else if(#r == 1 ||#r == 4 || #r == 9) goto Mojimenu;
else if(#r == 2) toupper;
else if(#r == 3) tolower;
else if(#r == 5){$replace = "[A-Za-z0-9]+"; call ToZenkaku;}
else if(#r == 6){$replace = "[A-Za-z]+"; call ToZenkaku;}
else if(#r == 7){$replace = "[0-9]+"; call ToZenkaku;}
else if(#r == 8){$replace = "[ヲ-ン]+"; call ToZenkaku;}
else if(#r == 10){$replace = "[A-Za-z0-9]+"; call ToHankaku;}
else if(#r == 11){$replace = "[A-Za-z]+"; call ToHankaku;}
else if(#r == 12){$replace = "[0-9]+"; call ToHankaku;}
else if(#r == 13){$replace = "[ァ-ヶ]+"; call ToHankaku;}


escape;
redraw;
call Reset_search;
endmacro;

ToZenkaku:
while(1){
    searchup $replace, regular;//
    if(result == 0 || y < #by || (y == #by && x < #bx)) break;
    tozenkakukata;
    escape;
}
return;

ToHankaku:
while(1){
    searchup $replace, regular;//
    if(result == 0 || y < #by || (y == #by && x < #bx)) break;
    tohankaku;
    escape;
}
return;

Save_search:    //検索状態を保存・変更
if (!searchmode) {                  // 検索状態を範囲選択に変更
    openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
    writeregnum "SelectFound",1;
    #modechange = 1;
    envchanged;
    closereg;
}
return;

Reset_search:   //検索状態を元に戻す
if (#modechange) {
    openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
    writeregnum "SelectFound",#s_mode;
    envchanged;
    closereg;
}
return;
//----------------------------------------------------------------//

[ ]