バグ?No.00091
J.H. さん 98/02/26 19:02
 
以下のようなマクロを使った後に、「動作環境」の「張り付け後の
カーソル位置」が「最後に移動」に設定されてしまうようです。

//仕切線の挿入などに使うマクロ
//指定文字列で指定の桁まで自動的にその文字列で埋める
//つまりこんな風に使う---------------------------------------------------------

$usestr = input("仕切に使う文字列は?", "-");  //使う文字列
#uslen = strlen($usestr);  //文字列の長さ(0〜)
    if (#uslen < 1) endmacro;

    $mes = str(width - 1);
    $in = input("何桁目まで埋めますか?", $mes);
#limit = val($in);  //リミット桁(0〜)
golineend;

#loop = ((#limit - x) / #uslen) + 1;

//-----------------------------------------------------------------------------
while( #loop > 0 ) {
    if (#loop == 1){
        #r = #limit - x;
        if (#uslen > #r) {  //最後の挿入では文字列の長さ調節
            $usestr = leftstr($usestr, #r);
        }
    }

    insert $usestr;
    #loop = #loop - 1;
}

endmacro;

NIFTY Serve とか覗いていないので、もしかしてすでに出ていたら
もうしわけありません。
個人的にはけっこう困っているのですが、もしかしてマクロ自体に
バグがあるのかも....

J.H.

[ ]
RE:00091 バグ?No.00092
きいろいまふらあ さん 98/02/27 18:32
 
きいろいまふらあと申します。

>            $usestr = leftstr($usestr, #r);

手元ではこいつを
$temp = $usestr;
$usestr = leftstr($temp, #r);
とすると大丈夫な気がします。
#100%の確証はないです。

やはり謎ですね。

[ ]
RE:00092 バグ?No.00100
J.H. さん 98/03/03 16:44
 

試してみましたが、私の環境では、やはりダメでした。
そういえば前に私も、別なマクロを作ってた時ですが、
一時変数を介すると正常に動くっていう事があったような気がします。

J.H.

[ ]