rightstr関数とrun文のヘルプの記述No.07757
h-tom さん 05/05/16 00:02
 

h-tom です。

・rightstr関数で、元の文字列より長い値を指定した場合、戻り値の先頭に"?"
 が追加されてしまいます。
 Ver.4.16では"123"となります。

//ここから
debuginfo 1;
$a = "123";
debuginfo "OUT:" + rightstr($a, 4);
endmacro;
//ここまで

//出力結果−ここから
OUT:?123
//出力結果−ここまで

・run文のヘルプ
 ヘルプのrun文の所に、以下の注記が追加されましたが、これはリダイレクト
 されている場合、"runsync"ではなく"runsync2"(アイコン化しない)にな
 るって事でしょうか?
 それとも待機しないって事なのでしょうか?
 
 とりあえず、
 run "sleep.exe 10 > check.txt";message "ok";
 だと待機しているようですが?
 
//ヘルプ−ここから
※V4.14のヘルプまで、run文で標準出力がリダイレクトされている場合、
 run文はrunsync文同様に、待機するようになります、と書いてありま
 したが、これは誤りでした。
//ヘルプ−ここまで

秀丸:Ver.5 β22
OS:Windows2000SP4

[ ]
RE:07757 rightstr関数とrun文のヘルプのNo.07765
秀丸担当 さん 05/05/16 17:55
 

>
>・rightstr関数で、元の文字列より長い値を指定した場合、戻り値の先頭に"?"
> が追加されてしまいます。

再現させることができました。
Unicodeの文字列の対応で、このあたりの処理を書き換えたため、影響がでてし
まいました。
修正させていただきます。

>・run文のヘルプ
> ヘルプのrun文の所に、以下の注記が追加されましたが、これはリダイレクト
> されている場合、"runsync"ではなく"runsync2"(アイコン化しない)にな
> るって事でしょうか?
> それとも待機しないって事なのでしょうか?

アイコン化するかどうかということは関係なく、待機するかどうかという違いに
ついての説明です。
run文は、マクロの実行が新しくできるウィンドウに移行せず、元のウィンドウ
で続行します。
run文によって新しくできたウィンドウでは実行の終了を待機していますが、こ
れはマクロの実行とは関係なく動いています。

[ ]