프로그램
캐드 분류

수치입력하였을때 다음명령어 쳐도 전에 적은 수치가 그대로남게하는법

컨텐츠 정보

본문

       (setq a (getreal "n : 수치입력 :  "))  

이렇게 수치를 입력하였는데요]
기존에 250이라고 쳤으면 다음 명령어 칠때도 250이 그대로 남아있게하려면 어떤구문을 입력해야하나요?

관련자료

댓글 10 / 1 페이지

엔씨벤딩님의 댓글

———첫번째 방법 —————- a에 입력받은 값을 레지스트리에 저장해놓고 나중에 불러오면 됩니다.

불러오는 코드는 : (setq kkk (vl-registry-read "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\myapp\fsgsmat" "enlong")) 저장하는 코드는 :  (vl-registry-write "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\myapp\DCLKEY" "NCKLAYER" "nochange")

HKEY_CURRENT_USER\Software\VB and VBA Program Settings\myapp\  여기까지는 오토캐드의 레지스트리 기본저장 위치이니 안 건드리는게 좋습니다. 뒤에 2가지 키만 건드려서 저장하세요.

엔씨벤딩님의 댓글

———– 두번째 방법—————— 사용자 변수를 이용합니다. 입력값이 실수형 변수값이니까 Userr1 ~ Userr5 중에 아무데나 넣어놓고 나중에 불러쓰면 됩니다. (setq TH (getvar "Userr1″))  ;;; 불러오는 코드 (setvar "Userr1″  a )  ;;; 저장하는 코드

사용자 변수는 각 도면마다 다른 값이 저장되기 때문에 이 방법을 사용하면, 다른 도면을 작업할 경우에 대한 주의가 필요합니다.

엔씨벤딩님의 댓글

———세번째 방법———- 전역변수를 사용하는 방법입니다. (defun c:aaa (  /  a b c )  로 시작하는 형식의 리습구문에서 / 뒤의 변수명은 지역변수입니다. (휘발성 변수) 사용되는 변수를 저 슬러쉬뒤에 나열하지 않으면 전역변수가 되어 리습명령이 종료된 후에도 여전히 값을 가지고 있습니다. 메모리 관리 측면에서 비효율적일 수도 있지만, 단순한 형태의 리습에서는 전혀 아무 상관없습니다.

전체 83 / 2 페이지
RSS
번호
제목
이름

최근글


새댓글


알림 0