◀マクロトップへ
  • 617 行を選択するマクロについて
    • 618 Re:行を選択するマクロについて
      • 619 Re2:行を選択するマクロについて
        • 620 Re3:行を選択するマクロについて
          • 621 Re4:行を選択するマクロについて
  • [617] 行を選択するマクロについて いっち 2017年03月30日 02:53

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

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

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

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

    これは仕方がないことでしょうか。
    • [618] Re:行を選択するマクロについて もか 2017年03月30日 19:51

      ▼ いっちさん
      > 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);
      でデータを取ってきて自力で移動する必要があります。
      • [619] Re2:行を選択するマクロについて いっち 2017年03月30日 20:49

        ▼ もかさん

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

        何故か、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);

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

        ありがとうございます。
        • [620] Re3:行を選択するマクロについて もか 2017年03月30日 23:53

          ×:MoveCorsor
          ○:MoveCursor
          でした。
          • [621] Re4:行を選択するマクロについて いっち 2017年03月31日 00:26

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

            確認しました。
            ありがとうございます。