while文とundo文No.07569
おすぎ さん 15/04/25 17:08
 
お世話になっております。

文章入力用のマクロで、
while文で5回 input box が出るような内容で、

3回目のinput box で入力間違いに気づいたら、
escape を押して undo 文を使って、
while文が始まる前の状態に戻す。

このようにするには、undo 文をどう使えば良いのでしょうか?

教えて下さい。
よろしくお願いいたします。

[ ]
RE:07569 while文とundo文No.07570
山紫水明 さん 15/04/25 22:06
 
 おすぎさん,

>3回目のinput box で入力間違いに気づいたら、
>escape を押して undo 文を使って、
>while文が始まる前の状態に戻す。
>
>このようにするには、undo 文をどう使えば良いのでしょうか?

3回目だけかどうか不明ですが(2回目や4回目でやめた場合どうするか),
次のマクロを参考にされたらいかがでしょう。
//----------------------------
begingroupundo;
while( #i < 5 ) {
    $a = input("データ");
    if( result == 0 ) break;
    insert $a;
    #i = #i + 1;
}
endgroupundo;
if( #i < 4 ) undo;
endmacro;
//----------------------------

                    山紫水明
                    SANSHISUIMEI

[ ]
RE:07570 while文とundo文No.07571
おすぎ さん 15/04/27 09:57
 
山紫水明さま

希望通りの動作になりました。
大変参考になりました。

ありがとうございました。

[ ]