カーソルの動きが見えるNo.02389
Iranoan さん 09/04/03 00:00
 
 秀丸担当さん今日は、Iranoan です。
//------------------------------------------------------------
setcompatiblemode 0x0100;
gofiletop;
insert "AAAAAAAAAAAA\n";
movetolineno 5, 1;
disabledraw;
searchdown2 "[A-Za-z]+", regular;
##endx = foundendx;
##endy = foundendy;
while( 1 ){
  findup;
  if(
    ##endx != foundendx || ##endy != foundendy ||//範囲が変わった
    ( foundtopx == 0 && foundtopy == 0 )//ファイル先頭
  )break;
}
searchdown2 "[A-Za-z]+", regular;
//------------------------------------------------------------
 末尾のマクロで、カーソルの動きが見えます。disabledraw 文を使って、画
面の描画は禁止されているはずなのですが....。
 なおサンプルでは、マクロで文字列を挿入していますが、
//------------------------------------------------------------
gofiletop;
insert "AAAAAAAAAAAA\n";
movetolineno 5, 1;
//------------------------------------------------------------
を消す代わりに、カーソル位置を適当な英単語条で行っても同じです。
 こちらの環境は、WindowsXP+IE7.0+秀丸 Ver.7.11b02 です。
 ##このマクロだと、すぐにマクロが終わって、処理が軽いので解り難いかな〜。

[ ]
RE:02389 カーソルの動きが見えるNo.02392
秀丸担当 さん 09/04/03 09:58
 

マクロの通りにしてみましたが、問題を確認することができませんでした。

while( 1 ){
  findup;

の部分を

while( 1 ){
  #i=0;
  while( #i<100000 ){
    #i=#i+1;
  }
  findup;

というようにして遅くなるようにしてみましたが、再現できませんでした。

1つ気になったのが、disabledrawする前にinsertしていて、それでルーラー上
のカーソル位置表示が一瞬ちらついたように見えました。
でもinsert文は無くても同じということで、違うかもしれないですが。

[ ]
RE:02392 カーソルの動きが見えるNo.02394
Iranoan さん 09/04/03 13:02
 
 秀丸担当さん今日は、Iranoan です。
> マクロの通りにしてみましたが、問題を確認することができませんでした。
 すいませんでした。私の間違いでした。
 実際の作っているマクロで enabledraw 文のタイミングがおかしいのが原因
でした。

[ ]