小师傅 发表于 2014-8-22 10:22:00

请问怎样自动保存上次的选择

请问给位前辈,我写了个小程序,里面可以选择图层绘图

(initget "1 2 3 4 5 6 7 8 9")
               (setq GETK (getkword "图层(1)(2)(3)(4)(5)(6)(7)(8)(9):"))
(cond
    ((or (= GETK "1") (= GETK nil))
......

我想请问要怎么写才能自动保持上次的选择你?比如说我上一次选择了图层1,只要我再输入图层2选择前,每次按空格键就是上一次图层1的选择呢

ZZXXQQ 发表于 2014-8-22 10:22:01

(setq oldlnm (if (= (type oldlnm) 'STR) oldlnm ""))
(setq lnm (getstring (strcat "\n选择图层【1层到8层】" (if (> (strlen oldlnm) 0) (strcat"<" oldlnm ">") ": ")))
(setq lnm (if (= lnm "") oldlnm lnm))
(setq oldlnm lnm)
;...

zjsru_18_505 发表于 2014-8-22 14:00:08

(if (= nil getk1) (setq getk1 1));默认图层1,
(initget "1 2 3 4 5 6 7 8 9")
               (setq GETK (getkword "图层(1)(2)(3)(4)(5)(6)(7)(8)(9):"))

(if (= getk nil)
(setq getk getk1)
(setq getk1 getk))

小师傅 发表于 2014-8-22 21:22:14

zjsru_18_505 发表于 2014-8-22 14:00 static/image/common/back.gif
(if (= nil getk1) (setq getk1 1));默认图层1,
(initget "1 2 3 4 5 6 7 8 9")
               (setq GE ...

前辈你好,你教的东西让我受益匪浅,我还想请教一下:
(setq lnm (getstring "\n选择图层【1层到8层】: "))
if (or (= lnm "1") (= lnm "5")) (= lnm "8")) (progn
(command "-layer" "m" (strcat "QY" lnm "-墙") "c" 255 "" "")
(command "_.pline"   "non"   PT1   "non"   PT2"non"   PT03   "non" PT04   "c" )
(command "_.pline"   "non"   PT5   "non"   PT3"non"   PT7   "non" PT8   "c" )
....
我这样写时要做怎样才能记忆上次的图层选择呀

小师傅 发表于 2014-8-23 08:40:16

ZZXXQQ 发表于 2014-8-23 08:21 static/image/common/back.gif
(setq oldlnm (if (= (type oldlnm) 'STR) oldlnm ""))
(setq lnm (getstring (strcat "\n选择图层【1层到 ...

谢谢Z版的鼎力相助,让我又学会了一招
页: [1]
查看完整版本: 请问怎样自动保存上次的选择