getclipboard()の挙動についてNo.10566
tso さん 21/08/19 13:21
 
getclipboard()が初回しか動かないようです。
そこで、

copyline;
message getclipboard();
message getclipboard();

という3行だけのマクロをctrl-1に登録して実験したのですが、2回目のmessageが空
になってしまいます。
もう一度、ctrl-1を押して実行すると、今度は1回目も2回目も空になります。

最終的にやりたかったことは、

copyline;
replaceallfast getclipboard(), getclipboard();
message str(result);

で、「カーソルがある行と同一の内容の行が、そのファイル内に幾つ存在するか数え
て表示する」です。

[ ]
RE:10566 getclipboard()の挙動についてNo.10567
秀丸担当 さん 21/08/19 15:15
 

getclipboard()は、一行ずつクリップボードから取り出すようになっていて、呼びだ
すたびにクリップボードの次の行の情報になっています。
まず最初にbeginclipboardreadを実行すると最初の行になり、getclipboard()を連続
して呼ぶという使い方になります。
同じ内容を使うには、変数に代入するといいです。

例:
copyline;
beginclipboardread;
$a=getclipboard();
message $a;
message $a;
endmacro;

途中でクリップボードの内容が変わるなど、また最初からクリップボードの内容を読
むには、その都度beginclipboardreadを実行するといいです。

例:
beginclipboardread;
message getclipboard();
//何らかの処理
beginclipboardread;
message getclipboard();
endmacro;

[ ]