gao051525 发表于 2012-6-2 13:42:20

【求助】本人编写的四行代码程序,无法满足要求,求高手帮忙改一下

程序如下:
(defun c:df()
   (initget "F ")
   (setq s0 (getkword "\n子程序df1 【子程序df2(F)】:"))
   (cond
         ((= s0 "F") (df2)) ;转子程序df2
         ((= s0 "") (df1));转子程序df1
    )
)
我的想法是:输入命令df后,什么选项都不输入的时候执行子程序df1,当输入F的时候执行子程序df2.

gao051525 发表于 2012-6-2 13:43:55

自己先顶一下哈,我编了两个子函数现在就想默认直接执行子函数df1,只有输入F的时候才执行子函数df2

gao051525 发表于 2012-6-2 13:53:03

在线等高手,帮忙改一下

gao051525 发表于 2012-6-2 13:54:55

先谢谢大侠们了,帮忙改一下吧。

仲文玉 发表于 2012-6-2 14:42:18

本帖最后由 仲文玉 于 2012-6-2 14:46 编辑

   (cond
         ((= s0 "F") (c:df2)) ;转子程序df2
         ((= s0 "") (c:df1));转子程序df1
    )
楼主两个子程序都是单独写的吧?
是不是这样的:(defun c:df1() (...........)) ;这样用(c:df1)调用
                     :(defun df1() (...........)) ;这样用(df1)调用

sen.sam 发表于 2012-6-2 15:08:20

楼主的意思是不是程序启动后等待几秒,期间如果有输入F就执行df2,没有输入F几秒后就直接执行df1?

gao051525 发表于 2012-6-2 16:11:07

sen.sam 发表于 2012-6-2 15:08 static/image/common/back.gif
楼主的意思是不是程序启动后等待几秒,期间如果有输入F就执行df2,没有输入F几秒后就直接执行df1?

哦,不是。我的意思是如果什么都不输入就执行df1,若输入F,就执行df2.期间无需等待

gao051525 发表于 2012-6-2 16:12:13

仲文玉 发表于 2012-6-2 14:42 static/image/common/back.gif
(cond
         ((= s0 "F") (c:df2)) ;转子程序df2
         ((= s0 "") (c:df1));转子程序df1


是的,子程序都是单独写的。子程序没有问题的

sen.sam 发表于 2012-6-2 16:26:47

gao051525 发表于 2012-6-2 16:11 static/image/common/back.gif
哦,不是。我的意思是如果什么都不输入就执行df1,若输入F,就执行df2.期间无需等待

什么都不输入是不是连空格都不行?无需等待的话,在您准备输入F的时候,软件已经认为您什么都不输入了,那其实就等价于先执行df1,然后输入F的话就再执行df2,不输入的话就只执行df1,不知道我的理解是否正确?

gao051525 发表于 2012-6-3 09:05:03

sen.sam 发表于 2012-6-2 16:26 static/image/common/back.gif
什么都不输入是不是连空格都不行?无需等待的话,在您准备输入F的时候,软件已经认为您什么都不输入了,那 ...

对,就是大哥说的这个意思
页: [1] 2
查看完整版本: 【求助】本人编写的四行代码程序,无法满足要求,求高手帮忙改一下