一括表示

  スクリプト中のアンドゥ 投稿者:みやん  

お世話になります。
下記のようなスクリプトで作図しているのですが、
間違えた時にアンドゥしますと、スクリプを始めたところまで戻って
しまいます。スクリプト中に一つ前に戻す方法は無いのでしょうか?
回答、宜しくお願いします。

rogram SYM;

var
X, Y, ANGLE : double;
N : STRING;

Begin
While True do

Begin

AddLabel(20, 20, 80, 13, 'X');
AddLabel(20, 50, 80, 13, 'Y');
AddLabel(20, 80, 80, 13, '角度(A)');
AddLabel(20, 110, 80, 13, 'シンボル名(N)');
AddEdit(1, 100, 20, 50, 21, '');
AddEdit(2, 100, 50, 50, 21, '');
AddEdit(3, 100, 80, 50, 21, '0');
AddEdit(4, 100, 110, 50, 21, '');


If ShowDlg(210, 180,'シンボル') <> True Then
Exit;

begin
X := StrToFloat(GetDlgText(1));
Y := StrToFloat(GetDlgText(2));
ANGLE := StrToFloat(GetDlgText(3));
N := GetDlgText(4)+'.NS7';

Symbol(X, Y, ANGLE, 0, N );



end;
end;
end.

2016/06/07(Tue) 10:48:08  [No.5278]


  Re: スクリプト中のアンドゥ 投稿者:管理人  

こんにちは。

> 下記のようなスクリプトで作図しているのですが、
> 間違えた時にアンドゥしますと、スクリプを始めたところまで戻って
> しまいます。スクリプト中に一つ前に戻す方法は無いのでしょうか?

スクリプト1回起動がアンドゥ1回にカウントされる仕様なので、残念ながら出来ません。

下記サンプルのように、IDを記憶しておいて、ある条件下で消す事は出来ます。

ID:=Symbol(X, Y, ANGLE, 0, N );
・・・
・・・
if (・・・) then Erase(ID);

2016/06/07(Tue) 12:32:55  [No.5279]


  Re: スクリプト中のアンドゥ 投稿者:みやん  

回答ありがとうございます。
スクリプトよく理解できていないので一度停止して
1個づつ消す方が楽そうですね。

2016/06/10(Fri) 08:42:15  [No.5280]