selectline と gettext No.11314
草餅 さん 06/11/10 18:38
 
こんにちは。

selectline;
$a = gettext(seltopx,seltopy,selendx,selendy);

という文で、改行を除くために
selendx-2
selendx-4
という様に変更してみましたが、全く効果がなく、改行が消えません。
これは仕様でしょうか?


[ ]
RE:11314 selectline と gettext No.11316
秀丸担当 さん 06/11/10 18:52
 

>こんにちは。
>
>selectline;
>$a = gettext(seltopx,seltopy,selendx,selendy);
>
>という文で、改行を除くために
>selendx-2
>selendx-4
>という様に変更してみましたが、全く効果がなく、改行が消えません。
>これは仕様でしょうか?
>

selectlineでは、範囲選択の終わりが次の行の先頭にあるので、x座標の操作で
はできないと思います。
xとy両方操作して前の行の最後の位置に移動させる必要があります。
計算するのはややこしいので、beginselとカーソル移動でやったほうが簡単だと
思います。

[ ]
RE:11314 selectline と gettext No.11318
K'zawa さん 06/11/10 19:55
 
草餅さん、こんにちは。 
K'zawa/ユーザーです。

>selectline;
>$a = gettext(seltopx,seltopy,selendx,selendy);

1行(論理行)の文字列全部を取得したいのであれば、
カーソルが既にその行内にいるものとして、

$a = gettext2(0,lineno,linelen2,lineno);

でよいと思います。
この場合、範囲選択する必要はありません。

[ ]
RE:11316 selectline と gettext No.11319
草餅 さん 06/11/10 20:33
 

>selectlineでは、範囲選択の終わりが次の行の先頭にあるので、

これで謎が解けました。了解です。

[ ]
RE:11318 selectline と gettext No.11320
草餅 さん 06/11/10 20:37
 

>$a = gettext2(0,lineno,linelen2,lineno);

lineno,linelen2をパラメータに使うわけですね。
これまで、
$a = gettext(seltopx,seltopy,selendx,selendy);
$a = gettext(foundtopx,foundtopy,foundendx,foundendy);
しか頭の中にはありませんでした。

ありがとうございます。

[ ]