我的第一个对话框~评论
大家好,所以,我想我终于可以进入DCL的世界了。。。虽然很可怕
请在下面找到我第一次尝试DCL的地方——只使用了我为递增整数文本而编写的旧代码
我们非常感谢您的评论和批评,欢迎您提出任何建议。
干杯
李
(defun c:sums(/ ss dcTag fSel)
(vl-load-com)
(defun selAdd ()
(setq fSel '(1+))
(set_tile "sel_text" "Plus One Selected"))
(defun selSub ()
(setq fSel '(1-))
(set_tile "sel_text" "Minus One Selected"))
(setq dcTag (load_dialog "AddOne.dcl"))
(if (not (new_dialog "adder" dcTag)) (exit))
(action_tile "sel_add" "(selAdd)")
(action_tile "sel_sub" "(selSub)")
(action_tile "accept" "(done_dialog)")
(start_dialog)
(unload_dialog dcTag)
(if (setq ss (ssget (list (cons 0 "TEXT,MTEXT")
(if (getvar "CTAB") (cons 410 (getvar "CTAB"))
(cons 67 (- 1 (getvar "TILEMODE")))))))
(progn
(mapcar '(lambda (x) (entmod (subst (cons 1 (itoa (eval (append fSel (list (atoi (cdr (assoc 1 x)))))))) (assoc 1 x) x)))
(mapcar 'entget (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))))
(princ "\n<!> No Selection Set <!>"))
(princ))
谢谢你抽出时间 李不错,
但并非如此重要,我注意到dcl和lisp有两个不同的名称。我倾向于认为很难知道这两个文件是否属于彼此。
我以前见过这样做,但我更喜欢用相同的名称保存文件。
干得好,希望看到更多。
我可以想象你会走多远。
秃鹰 啊,好极了,秃鹰~原来的Lisp程序叫做“addone”,然后出于某种原因我把它改成了“sums”。。。,但是我可以理解你关于同名DCL的观点——它可能也会减少出错的机会
我必须说,从DCL语言开始比我预期的要容易得多-一切似乎都是不言而喻的,在函数方面似乎没有太多需要学习的地方-但我还没有深入到它。。。
前几天我运行了你的DCL(CDL),看看一个合适的DCL会是什么样子,我必须说,它看起来确实非常专业(这是我决定亲自深入学习DCL的一半原因)。它有很多应用程序-我有一些Lisp,其中用户可以从选项菜单中进行选择,如果转换为对话框格式,这些应用程序将变得更加专业。
再次感谢您的评论,Buzzard-我将看看DCL的兔子洞有多远…:P
干杯
李 dcl文件的一个优点是,可以使用预设数据控制用户输入。这可以避免用户在通常情况下在命令提示下键入的输入中出错。在图形编辑器区域中,它也位于您的脸上。当用户做出错误选择时,您可以使用警报向用户显示。
我认为他们值得付出努力。 附件是一个我知道你会喜欢的节目。它创建了一个带有图像平铺的简单对话框。在运行程序之前,在屏幕上绘制一些东西。运行该程序,它将创建一个带有对话框的程序,并在刚刚绘制的对象的平铺中创建一个图像。
它将生成的程序放在驱动器C的临时目录中:。
生成的程序将被称为vimage。带有dcl文件调用vimage的lsp。dcl。它创建的幻灯片是一个windows元文件。图像列表在程序中。这是一种为库创建图像的好方法,无需外部幻灯片。这个程序是由Viper从另一个我曾经属于的论坛写的。
一个漂亮整洁的包裹。
享受
Mimage2.lsp 这里还有一个程序,我想你们可能还记得这个。我正在寻找一些帮助,并得到了它。该程序从程序mimage2开始创建。lsp并以此为基础。我只是用上面的程序创建了SL程序中的所有几个简单图像。当你看这个节目时,你会注意到我不需要使用外部幻灯片。我使用一个image_互动程序,在滚动弹出列表时更改图像。从目前为止我从你们那里学到的,我将能够改进这个程序以及使用cons和assoc。它将大大巩固我的编程。我希望你能像我一样充分利用它。这真的节省了时间。
再次享受,我迫不及待地想看看你接下来会讲什么。
秃鹰
SL.zip 感谢您的友好贡献Buzzard-它们提供了非常丰富的信息
我喜欢SL程序,在某个时候在论坛上帮助你时记得它的名字(很高兴看到它都能工作!)。我喜欢在用户将块插入图形之前将图像用作预览图块非常专业。
谢谢
李 当你开始使用对话框时,整个新世界就会打开,你将开始编写更复杂的程序。学习DCL很好,但它确实有一些缺点,这取决于程序的复杂性。如果你想制作越来越多的对话框,我建议你研究一下openDCL。它是免费的,比常规DCL更灵活。您可以将控件拖放到窗体上,并将其放置在任何位置。此外,您还有更多的对话框类型可供选择,DCL只有一种类型。如果你想学习对话框,不妨学习更多选项 谢谢你的建议,约翰,我将研究OpenDCL-它是一个单独的程序吗?它是免费的吗? 李,
是的,它是免费的,这是下载链接。
http://www.opendcl.org/
享受
秃鹰
页:
[1]
2