为AUTOLISP建立缺省输入函数
2006-04-03 09:47:01 来源:WEB开发网使用LISP编程时,常常需要用户回答一些参数,为了提高工作效率,希望能用回车代替某个特定输入即缺省值。此时,在程序中增加一个判断可使变量得到缺省回答。
如:
(setqwidth(getreal″inputwidth:″))
(if(nullwidth)(setqwidth0.3));回车置width的值为0.3。
有时需要依上一次的输入值为本次的缺省输入(如:宽度、角度、距离等),这时就需要用全局变量保存上一次输入值提供缺省输入。例如,若欲将上次输入的宽度值作为缺省输入可使用下述函数:
(if(notwidth)
(setqwidth0.3);第一次依03为缺省值)
(princ″\inputwidth:″)
(princ″\n
(princwidth)
(princ″:″);显示提示信息
(setqw1(getrea1))
(if(notw1)
(setqw1width)
(setqwidthw1);用全局变量保存当前输入值
(princw1)
)
函数的执行结果是:第一次执行时依宽度03为缺省值,提示信息为:inputwidth:,给定新的输入值后如05,下一次依宽度05为缺省提示值,提示信息为:inputwidth:。
在一般情况下,还可通过建立缺省处理函数,加快程序处理速度,减少编码。如:
(defundefal(strval)
(setqglobaval)
(princ(strcatstr″
(princgloba)
(princ″″)
(setqvar(getreal))
(if(notvar)
(setqvargloba);用缺省值作为输入
)
(princvar)
)
这是一个有参函数,它将输入的实数作为返回值。当按(defal″inputwidth″0.5)调用时提示信息为:inputwidth:。该函数能按str的提示缺省输入实数(由val给定)类值(如:角度、距离等),加入到ACADLSP文件中即可像LISP标准函数一样供其它函数调用。
- ››建立唯美图片特效,十个jQuery插件分享
- ››建立自己的TextView和ImageView的组合View类
- ››建立虚拟专用网 使用SSH保护网络通信
- ››建立一个 Derby 日历,第 3 部分: 使用事务和锁定...
- ››建立一个 Derby 日历,第 3 部分: 使用事务和锁定...
- ››建立一个 Derby 日历,第 1 部分: 理解 JDBC
- ››建立一个 Derby 日历,第 2 部分: 嵌入选项(上)...
- ››建立一个 Derby 日历,第 2 部分: 嵌入选项(下)...
- ››建立 qt for symbian 的开发环境
- ››建立一个 Android 项目的实例
- ››建立针对arm-linux的交叉编译环境
- ››建立极品文件夹 阻止病毒杀完再生
更多精彩
赞助商链接