dcl질문 드립니다.
위쪽의 에디트 박스에 숫자를 쓰고 연산 버튼을 누르면 연산되어
아래 에디트 박스에 출력하고 싶은데 잘안되네요..
현재 윗쪽 에디트 박스에 숫자를 쓰고 확인을 누르면 꺼지고 다시 호출하면
연산결과가 출력이 됩니다. 실시간으로 표시되게 하고 픈데..
아시는분 가르침 부탁드립니다.
— lisp 부분 —
(defun c:aaa()
(setq id (load_dialog “aaa.dcl”))
(new_dialog “aaa” id)
(mode_tile “edit” 2)
(action_tile “edit” “(setq ed (atoi $value))”)
(action_tile “li” “(setq zz (+ 2 ed))”)
(set_tile “edit1” (vl-prin1-to-string zz))
(new_dialog “aaa” id)
(mode_tile “edit” 2)
(action_tile “edit” “(setq ed (atoi $value))”)
(action_tile “li” “(setq zz (+ 2 ed))”)
(set_tile “edit1” (vl-prin1-to-string zz))
(setq aaa (start_dialog))
(unload_dialog id)
(princ)
)
(unload_dialog id)
(princ)
)
— dcl 부분 —
aaa : dialog
{ label = “문자수정 하기 예제”;
{ label = “문자수정 하기 예제”;
: edit_box
{label = “문자를 넣어라”;
edit_width = 30;
key = “edit”;
value = “333”;
allow_accept = true;
}
{label = “문자를 넣어라”;
edit_width = 30;
key = “edit”;
value = “333”;
allow_accept = true;
}
:button
{label = “연산”;
key = “li”;
}
{label = “연산”;
key = “li”;
}
: edit_box
{label = “문자를 넣어라”;
edit_width = 30;
key = “edit1”;
allow_accept = true;
}
{label = “문자를 넣어라”;
edit_width = 30;
key = “edit1”;
allow_accept = true;
}
ok_cancel;
}
}
;;;첫번째.
(defun c:aaa()
(setq id (load_dialog “aaa.dcl”))
(new_dialog “aaa” id)
(mode_tile “edit” 2)
(action_tile “edit” “(setq ed (atoi $value))”)
(action_tile “li” “(setq zz (+ 2 ed))(set_tile ”edit1” (vl-prin1-to-string zz))”); “”안에는 를 사용합니다. ” ”123” “
(setq aaa (start_dialog))
(unload_dialog id)
(princ)
)
;;;두번째. 쉬운방법으로
(defun c:aaa()
(setq id (load_dialog “aaa.dcl”))
(new_dialog “aaa” id)
(mode_tile “edit” 2)
(action_tile “edit” “(setq ed (atoi $value))”)
(action_tile “li” “(sum_view ed)”); 여기서는 sum_view를 호출합니다.
(setq aaa (start_dialog))
(unload_dialog id)
(princ)
)
;;;
;;;
(defun sum_view(ed / zz)
(setq zz (+ 2 ed))
(set_tile “edit1” (vl-prin1-to-string zz))
)