小文字変換No.16802
kikuto さん 04/03/01 11:30
 
小文字はそのままで大文字だけを小文字に変換したくて、デフォルトで「to lower c
ase」が割り当てられている「Ctrl+D」を使ってみたら動作しませんでした。
「Ctrl+D」に「大文字<->小文字の変換」を割り当ててみたら動作したので、これで
何とかしのぎました。
ちなみに、「TO UPPER CASE」も動作しませんでした。
Version 4.10 b20 です。

[ ]
RE:16802 小文字変換No.16803
pinecone さん 04/03/01 11:45
 
kikutoさん、こんにちは。
秀丸1ユーザのpineconeです。ヘルプを参照すると

・「大文字<->小文字の変換」は、現在のカーソル位置の文字についての変換
・「to lower case」と「TO UPPER CASE」は、範囲選択された文字列の変換

というふうに、説明があります。
範囲選択の操作をされていなかったのではないでしょうか?
(間違っていたら申し訳ございません。・・・こちらでは正常に動作しています)

[ ]
RE:16803 小文字変換No.16805
秀まるお2 さん 04/03/01 21:40
 
 サイトー企画の斉藤秀夫です。

 pineconeさんの話の通り、「to lower case」などの「編集・変換」の中のコ
マンドは、範囲選択してから実行すると、その選択した範囲内を変換するという
コマンドです。

 しいて、「大文字<->小文字の変換」のような形でカーソル位置の文字を小文
字に変換したい場合は、マクロを作る必要があります。必要でしたらサンプルマ
クロを作成します。

[ ]
RE:16805 小文字変換No.16809
ませま さん 04/03/01 22:22
 
> サイトー企画の斉藤秀夫です。
>
> pineconeさんの話の通り、「to lower case」などの「編集・変換」の中のコ
>マンドは、範囲選択してから実行すると、その選択した範囲内を変換するという
>コマンドです。
>
> しいて、「大文字<->小文字の変換」のような形でカーソル位置の文字を小文
>字に変換したい場合は、マクロを作る必要があります。必要でしたらサンプルマ
>クロを作成します。

それなら,僕が作成したものがあります.

・前進小文字化
・前進大文字化
・単語の先頭文字を大文字にする.

の3つをアップしておきます.これらは範囲選択せずに利用できます.
# 通常の小文字化や大文字化はこっちの動作だと思います.

これらは,僕が先日ライブラリにアップした「キー割り当て拡張マクロ Ver. 0.02」
http://hide.maruo.co.jp/lib/macro/key-assign002.html

の中に含まれているものです.
これらは,矩形選択時の動作定義や後退動作のマクロ追加など,今後の
バージョンアップを予定しています.


// 前進小文字化
//to-lowercase-forward.mac;
#ix = x;
#iy = y;

if (selecting) {
 tolower;
} else {
 disabledraw;
 beginsel;
 wordrightsalnen;
 tolower;
    escape;
};
endmacro;
//--------------------------------------------------------------------------
------


// 前進小文字化
//to-lowercase-forward.mac;
#ix = x;
#iy = y;

if (selecting) {
 toupper;
} else {
 disabledraw;
 beginsel;
 wordrightsalnen;
 toupper;
 escape;
};
endmacro;
//--------------------------------------------------------------------------
------

// 単語の先頭文字を大文字にする.
// capitalize-word.mac
init:
    #ix = x; #iy = y;
main:
    if (!selecting) {
        wordrightsalnen; wordleft;
        call Upcase;
        goto end;
    };
   
    #sx = seltopx; #sy = seltopy; #ex = selendx; #ey = selendy;
    moveto #sx, #sy;
   
    if (((code >= 'a') && (code <= 'z')) || ((code >= 'a') && (code <= 'z
'))) wordleft;
    while (1) {
        if (y > #ey) break;
        else if ((y == #ey) && (x > #ex)) break;
        if (code == '\n') {
            down;
            golinetop2;
            continue;
        };

        if (((code >= 'a') && (code <= 'z')) || ((code >= 'A') && (code <= '
Z'))) {
            if ((code >= 'a') && (code <= 'z')) call Upcase;
            wordrightsalnen;
        };
        right;
    };
end:
    // moveto #ix, #iy;
    wordrightsalnen;
    endmacro;

Upcase:
    ##ic = code;
    beginsel;
    right;
    toupper;
    left;
    escape;
    if(code == ##ic) undo;
    return;
//--------------------------------------------------------------------------
------

[ ]
RE:16803 小文字変換No.16810
kikuto さん 04/03/02 15:43
 
>範囲選択の操作をされていなかったのではないでしょうか?

あっ、その通りでした。ごめんなさい。

[ ]