限制对跑步的访问
嘿,伙计们,正如标题所示,我需要限制对我们正在测试的特定Lisp的访问,以便在整个办公室中使用。然而,在这个“测试”阶段,只有某些用户被允许运行这个例程。目前,在下面发布的代码中(我是“ajr”),它在用户检查中不断传递错误值。我认为我在正确的轨道上,但我不明白为什么我仍然得到一个错误的值。有什么想法吗?我们将一如既往地感谢您的帮助,并提前表示感谢。(defun c:lolwat (/ X blk )
(cond (= "ajr" (getvar "loginname"))
(initget 1 "Yes NO")
(setq ansr (getkword "\nIs this a UT Job? <Yes or NO>:"))
(cond (= ansr "NO")
(GON)
(GFRS)
(command "qsave" )
(GON) ;FOR UT JOBS ONLY PER TLD REQUEST
(GDSTRY) ;FOR UT JOBS ONLY PER TLD REQUEST
);;cond
(GON)
(GFRS)
(command "qsave" )
;(GON)
;(GDSTRY)
(foreach x
(mapcar 'cadr (ssnamex (ssget "_X" '((0 . "INSERT") (410 . "MODEL")))))
(setq blk (cdr (assoc 2 (entget x))))
(if (assoc 1 (tblsearch "block" blk)) (command "_.xref" "_bind" blk))
);;; end foreach
(princ)
(command "-layer" "s" "0" "")
(command "-purge" "all" "" "N" "")
(command "audit" "y")
(command "zoom" "e")
(PDF)
(command "saveas" "" (strcat "c:\\Record_Drawings\\" (getvar "dwgname")))
(prompt "\n Drawings Prepared. Check Output Folder.")
(princ)
);;; cond
(prompt "\n Are you sure you should be using this?")
(prompt "\n Access Denied.")
(princ)
);;defun loginname区分大小写,因此例如Ajr与Ajr不同。除此之外,您需要为cond函数再添加一个paren,当然不需要
忘记在正确位置关闭此栏
(cond ((= "ajr" (getvar "loginname"))
哼!哇,我真该看看。这么简单的事情。。。谢谢你,我的好先生。 那么,如果用户说是的话,会发生什么事情吗? 不客气
说得好。还没有试过。我知道我错过了更多。天哪,这太草率了。这是对我已经做的常规的肮脏改编,显然比我最初想象的要脏得多。
那个家伙(gosh函数)做什么? 它允许用户为客户端快速归档文件和PDF。它去除图形上的任何油脂,绑定所有外部参照、清除、审核,并执行另存为和PDF图形。
现在我有了这种工作,我注意到我无法得到不显示错误答案的真实场景。例如,如果您查看原始帖子中的代码,即使满足条件,它也始终显示拒绝消息。我知道这是因为defun的退出paren在它之后,但是,我不知道在哪里放置拒绝消息,如果条件为true,它将不会显示。
(defun c:test (/ ansr)
(if (= "ajr" (getvar "loginname"))
(progn
(initget 1 "Yes No")
(setq ansr (getkword "\nIs this a UT Job? :"))
(cond ((eq ansr "No")
;; DO STUFF
)
((eq ansr "Yes")
;; DO STUFF
)
)
)
(princ "\n Are you sure you should be using this?\n Access Denied.")
)
(princ)
) 也许这会更准确,因为它是区分大小写的。
(= (strcase "ajr") (strcase (getvar "loginname")))
页:
[1]
2