satishrajdev 发表于 2022-7-6 03:20:09

组合条件

大家好,
我有一个矿脉如下
(setq dta nil
   lonzone nil
   Hem nil
)

(while (= dta nil)
(setq dta (ssget '((0 . "text,mtext"))))
(if (= dta nil)
   (alert "Please select text to continue...")
)
)
(while (= lonzone nil)
(setq lonzone (getint "\n Enter Zone:"))
(if (= lonzone nil)
   (alert "Please Enter Zone to Continue...")
)
)
(while (= Hem nil)
(initget "N S")
(setq Hem (getkword "\n Enter the Hemisphere (S/N):"))
(if (= Hem nil)
   (alert "Please Enter Correct Option to Continue...")
)
)
 
我们可以合并3个while条件吗。。。。。。。。。

David Bethel 发表于 2022-7-6 03:39:28

可能简化为:
 
 

(setq dta nil
       lonzone nil
       Hem nil)

(while (not dta)
      (princ "\nPlease select text to continue...")
      (setq dta (ssget '((0 . "text,mtext")))))

(initget 1)
(setq lonzone (getint "\n Enter Zone:"))

(initget 1 "N S")
(setq Hem (getkword "\n Enter the Hemisphere (S/N):"))

 
 
-大卫

satishrajdev 发表于 2022-7-6 04:01:32

谢谢David。。。。。
 
但我不想要“initget”,我想要设置警报,说明我为什么要相应地修改我的代码。。。。。。。。。。。
 
有什么方法可以让事情变得更简单吗???

David Bethel 发表于 2022-7-6 04:15:21

对不起,但那没有道理。
 
当您可以让命令行通知您错误并在单个进程中继续输入时,为什么要强制某人处理警报框?

satishrajdev 发表于 2022-7-6 04:28:56

好啊大卫先生
 
我会遵循你的密码
页: [1]
查看完整版本: 组合条件