明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1496|回复: 9

[求助]新手菜鸟求救!!

[复制链接]
发表于 2005-4-1 09:37:00 | 显示全部楼层 |阅读模式
我编写下面的程序想要实现的内容是,当选择下拉列表框中的值时,后面的编辑框中将出现预定好的对应的值。现在里面出现问题,实现不了。希望高手能指点一下,或者帮忙修改一下,谢谢!!! (defun c:xyz()
(setq id (load_dialog "E:\\学习\\xyz.dcl"))
(if (< id 0)(exit))
(if (not (new_dialog "xyz" id))(exit))
(get_tile "ys")
(setq ys_list '(1 2 3 4))
(setq n (- (length ys_list) (length (member ys ys_list))))
(setq key_x '(b1 b2 b3 b4))
(setq key_y '(c1 c2 c3 c4))
(setq key_z '(d1 d2 d3 d4))
(setq x (nth n key_x))
(setq y (nth n key_y))
(setq z (nth n key_z))
(set_tile "x" x)
(set_tile "y" y)
(set_tile "z" z)
(action_tile "accept" "(done_dialog 1)")
(action_tile "cancel" "(done_dialog -1)")
(unload_dialog id)
(princ)
) 对话框文件 xyz:dialog{label="演示";
:boxed_row{label="演示内容";
:popup_list{label="下拉列表框";list="1\n2\n3\n4\n";value="1"; key="ys";}
:edit_box {label="xx";width=4;key="x";value=b2;}
:edit_box {label="yy";width=4;key="y";value=c2;}
:edit_box {label="zz";width=4;key="z";value=d2;}
}
ok_cancel;
}
发表于 2005-4-1 10:29:00 | 显示全部楼层
程序太多问题,建议你还是先把对话框的动作过程弄明白了先。。。


(get_tile "ys");此句没有任何作用


(setq n (- (length ys_list) (length (member ys ys_list))));此句的ys和ys_list变量不知从何而来,导致后面的n不可用


(set_tile "x" x);这里需要的第二个参数是字符串,而你得来的是&#39;(b1 b2 b3 b4)中的元素,这个表中的元素是符号,而不是字符串,字符串是有双引号的


最后,你说要选择下拉列表框时,编辑框中数据变化,这需要一个下拉列表框的动作函数,可你没有,当然不会有动作:(action_tile "ys" ...


一个能实现动作的函数稍后给你
发表于 2005-4-1 10:44:00 | 显示全部楼层
上面还有个问题,你连start_dialog都没有啊 (defun act_ys()
(setq n (atoi (get_tile "ys")))
(setq key_x '("b1" "b2" "b3" "b4"))
(setq key_y '("c1" "c2" "c3" "c4"))
(setq key_z '("d1" "d2" "d3" "d4"))
(setq x (nth n key_x))
(setq y (nth n key_y))
(setq z (nth n key_z))
(set_tile "x" x)
(set_tile "y" y)
(set_tile "z" z)
) (defun c:xyz()
(setq id (load_dialog "tmp.dcl"))
(if (< id 0)(exit))
(if (not (new_dialog "xyz" id))(exit))
(action_tile "ys" "(act_ys)")
(action_tile "accept" "(done_dialog 1)")
(action_tile "cancel" "(done_dialog -1)")
(start_dialog)
(unload_dialog id)
(princ)
)
 楼主| 发表于 2005-4-1 21:37:00 | 显示全部楼层
有了你的指点,我已经能实现我想要的程序了,多谢啊!真是太感谢了!我以后一定要向多多你学习!多动脑筋!                                                                                                ————                流浪狗
 楼主| 发表于 2005-4-1 22:30:00 | 显示全部楼层
对了,请问哪里有基础教程或者编程实例下载?能给我介绍一些好的学习参考资料吗?图书或者网上的都可以,只要能有利于提高就行。谢谢!!
发表于 2005-4-1 22:42:00 | 显示全部楼层
看来 楼上的根本没又系统的看书啊,范的都是最基本的错误,还需要努力啊。
 楼主| 发表于 2005-4-1 23:43:00 | 显示全部楼层
是啊!惭愧!实在惭愧!其实本人还是个在校的学生,才刚刚接触lisp。我真的很想提高我的编程水平,但是又苦于没有比较好的学习资料,目前用的是我们学校内部一位老师自己编写一本非常简易的教材,内容很少,仅有20页,而且这门课又作为我们的专业选修课,老师也不怎么重视,所以我目前学到的东西太少了。本人只是出于个人兴趣,很想学好它。现在看到我们明经里的高手编写的程序,真实让我太羡慕了,希望那些高手们能给我介绍点学习经验和比较好学习资料,本人定会好好努力学习的。 如果那位好心人有这方面的教程和学习资料,愿能与我共同分享,本人不胜感激! 我的邮箱是 g0ngke@yahoo.com.cn
 楼主| 发表于 2005-4-2 01:42:00 | 显示全部楼层
我还想要实现一个三维立体圆锥体的lisp程序,要求椭圆底的,而且着色,看起来有立体感,希望各位高手给我指点一下,或者给我一个范例作参考。谢先!!
发表于 2005-4-2 09:27:00 | 显示全部楼层
看6楼的话,要学得系统点,帮助文件就是很好的资料,


问题是你要从头把一些基础的东西都看明白了,不要用什么就去学什么,这样的学习到最后只会是问题越来越多
 楼主| 发表于 2005-4-2 12:09:00 | 显示全部楼层
AutoCAD 中文版全套帮助文件 哪里有下载啊?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-17 11:46 , Processed in 0.181341 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表