compfileについてNo.00922
TORA さん 99/12/28 19:44
 
はじめまして。昨日秀丸マクロに初めて触った
超初心者です。FAQでしたらその情報所在地だけでも
教えてください。

現在、「二つのファイルを開いて、上から順次
違うところを確認してゆく」というマクロを
作ろうとしています。

二枚のファイルの切り替えはなんとか分かったのですが、
肝心の「違う箇所の判定」がうまくいきません。
ヘルプには、compfileというコマンドを使えと書いて
あるのです。で、その箇所なんですが、

while(y != #Line){//カーソルが下へ動く間繰り返す
compfile findhidemaru( "#ywnd" );
if (result == 0) goto ExitWhile;//もし下に違いがなければExitWhileへ
question "次に行きますか?";
if( result == no ) {
goto ExitWhile ;
}

        #Line = y;//今処理した行を退避
        down;//カーソルを下へ
setactivehidemaru #ywnd; //次のファイルに戻る
        down;//カーソルを下へ
setactivehidemaru #hwnd; //もとのファイルに戻る

}

という風に書いてみたのですが、実際には二つのファイルの
選択行が一行ずつくだっていく、という処理をしてしまいます。

「あ、compfileの使い方がわかってないんだなオレ」
というのまではなんとなく分かるのですが、正しい使い方を
どなたか教えていただけませんでしょうか?

[ ]
RE:00922 compfileについてNo.00923
杉浦 まさき さん 99/12/29 03:05
 
TORA さん、はじめまして。
杉浦 まさき と申します。

う〜ん…

>compfile findhidemaru( "#ywnd" );

というのは "#ywnd" という名前のファイルを
探しているんでしょうか??
でなければ(=ウィンドウハンドルもしくはウィンドウ番号なら)

compfile #ywnd;

では??


[ ]
RE:00923 解決しました!No.00924
TORA さん 99/12/29 10:57
 
杉浦さま

はじめまして。ありがとうございます。

いろんなサンプルマクロを切り貼りしている
うちにわけのわかんない構造になっていたようです。


>>compfile findhidemaru( "#ywnd" );
>
>というのは "#ywnd" という名前のファイルを
>探しているんでしょうか??

うーん、そうですよねえ。

結論からいうと、このマクロの上の方で
「この場合ファイルは2つだけしか開いちゃダメ!」」
と宣言しているみたいなので、

compfile 1

でことたりちゃったみたいです。

今後とも宜しくお願いいたします。

[ ]