[スレッド全体]

2017/3/30 (木) 02:53:41 返信 削除
[617] 行を選択するマクロについて

テキスト非選択状態の時、下記のマクロを実行させると、

if(Editor.IsTextSelected() == 0) {
  Editor.GoLineTop(1000);
  Editor.GoLineEnd_Sel(0x08);
}

行を折り返しているか、いないか、にかかわらず、同じように
先頭の半角スペースを除外して、その行を選択してくれます。

しかし、キャレット(カーソル)が、行頭の最後の半角スペースと
最初の文字の間にある場合だけは例外で、行頭の半角スペースを
含んで、選択してしまうようです。(sakura 2.3.1.0)

これは仕方がないことでしょうか。
いっち
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36


2017/3/30 (木) 19:51:22 返信 削除
[618] Re:行を選択するマクロについて

▼ いっちさん
>   Editor.GoLineTop(1000);
これはGoLineTo(0x3e8)なので
http://sakura-editor.sourceforge.net/htmlhelp2/HLP000224.html
改行単位の行頭に移動します。

>しかし、キャレット(カーソル)が、行頭の最後の半角スペースと
>最初の文字の間にある場合だけは例外で、行頭の半角スペースを
>含んで、選択してしまうようです。(sakura 2.3.1.0)
これは仕様です。
先頭の空白の後ろ側の位置にカーソルがある場合は、行頭(^)に移動します。
複数回実行するとこの2か所を往復します。

未テストですがこんな感じですかね。

Editor.GoLineTop(8);
var x = Editor.ExpandParameter("$x") - 0;
if( x == 1 ){
    // 行頭に移動ならスペースの後ろへもう一度移動
    Editor.GoLineTop(8);
}
Editor.GoLineEnd_Sel(0x08);
こういう風に対処するか

var s = Editor.GetLineStr(0);
var len = s.match(/^[\s]*/)[0].length;
var y = Editor.ExpandParameter("$y") - 0;
Editor.MoveCorsor(y, len + 1, 0);
Editor.GoLineEnd_Sel(0x08);
でデータを取ってきて自力で移動する必要があります。
もか
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0


2017/3/30 (木) 20:49:21 返信 削除
[619] Re2:行を選択するマクロについて

▼ もかさん

お返事ありがとうございます。

何故か、Editor.MoveCorsor(y, len + 1, 0);
の行でエラーが出る為、標準のサクラエディター 2.3.1.0にて、
MoveCorsor というのがあるかどうか(私には)解らなかったのですが、

Editor.GoLineTop(8);
var x = Editor.ExpandParameter("$x") - 0;
if( x == 1 ){
    // 行頭に移動ならスペースの後ろへもう一度移動
    Editor.GoLineTop(8);
}
Editor.GoLineEnd_Sel(0x08);

の方は、正常動作を確認しました。

ありがとうございます。
いっち
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36


2017/3/30 (木) 23:53:33 返信 削除
[620] Re3:行を選択するマクロについて

×:MoveCorsor
○:MoveCursor
でした。
もか
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0


2017/3/31 (金) 00:26:08 返信 削除
[621] Re4:行を選択するマクロについて

▼ もかさん
> ×:MoveCorsor
> ○:MoveCursor
> でした。

確認しました。
ありがとうございます。
いっち
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81