乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 110|回复: 13

[编程交流] 我的第一个对话框~评论

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:08:39 | 显示全部楼层 |阅读模式
大家好,
 
所以,我想我终于可以进入DCL的世界了。。。虽然很可怕
 
请在下面找到我第一次尝试DCL的地方——只使用了我为递增整数文本而编写的旧代码
 
我们非常感谢您的评论和批评,欢迎您提出任何建议。
 
干杯
 

 
  1. (defun c:sums  (/ ss dcTag fSel)
  2. (vl-load-com)
  3. (defun selAdd     ()
  4.    (setq fSel '(1+))
  5.    (set_tile "sel_text" "Plus One Selected"))
  6. (defun selSub     ()
  7.    (setq fSel '(1-))
  8.    (set_tile "sel_text" "Minus One Selected"))
  9. (setq dcTag (load_dialog "AddOne.dcl"))
  10. (if (not (new_dialog "adder" dcTag)) (exit))
  11. (action_tile "sel_add" "(selAdd)")
  12. (action_tile "sel_sub" "(selSub)")
  13. (action_tile "accept" "(done_dialog)")
  14. (start_dialog)
  15. (unload_dialog dcTag)
  16. (if (setq ss (ssget (list (cons 0 "TEXT,MTEXT")
  17.    (if    (getvar "CTAB") (cons 410 (getvar "CTAB"))
  18.       (cons 67 (- 1 (getvar "TILEMODE")))))))
  19.    (progn
  20.      (mapcar '(lambda (x) (entmod (subst (cons 1 (itoa (eval (append fSel (list (atoi (cdr (assoc 1 x)))))))) (assoc 1 x) x)))
  21.          (mapcar 'entget (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))))
  22.    (princ "\n<!> No Selection Set <!>"))
  23. (princ))

谢谢你抽出时间
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:15:08 | 显示全部楼层
李不错,
 
但并非如此重要,我注意到dcl和lisp有两个不同的名称。我倾向于认为很难知道这两个文件是否属于彼此。
我以前见过这样做,但我更喜欢用相同的名称保存文件。
 
干得好,希望看到更多。
我可以想象你会走多远。
秃鹰
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:20:22 | 显示全部楼层
啊,好极了,秃鹰~原来的Lisp程序叫做“addone”,然后出于某种原因我把它改成了“sums”。。。,但是我可以理解你关于同名DCL的观点——它可能也会减少出错的机会
 
我必须说,从DCL语言开始比我预期的要容易得多-一切似乎都是不言而喻的,在函数方面似乎没有太多需要学习的地方-但我还没有深入到它。。。
 
前几天我运行了你的DCL(CDL),看看一个合适的DCL会是什么样子,我必须说,它看起来确实非常专业(这是我决定亲自深入学习DCL的一半原因)。它有很多应用程序-我有一些Lisp,其中用户可以从选项菜单中进行选择,如果转换为对话框格式,这些应用程序将变得更加专业。
 
再次感谢您的评论,Buzzard-我将看看DCL的兔子洞有多远…:P
 
 
干杯
 
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:25:27 | 显示全部楼层
dcl文件的一个优点是,可以使用预设数据控制用户输入。这可以避免用户在通常情况下在命令提示下键入的输入中出错。在图形编辑器区域中,它也位于您的脸上。当用户做出错误选择时,您可以使用警报向用户显示。
 
我认为他们值得付出努力。
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:28:04 | 显示全部楼层
附件是一个我知道你会喜欢的节目。它创建了一个带有图像平铺的简单对话框。在运行程序之前,在屏幕上绘制一些东西。运行该程序,它将创建一个带有对话框的程序,并在刚刚绘制的对象的平铺中创建一个图像。
它将生成的程序放在驱动器C的临时目录中:。
生成的程序将被称为vimage。带有dcl文件调用vimage的lsp。dcl。它创建的幻灯片是一个windows元文件。图像列表在程序中。这是一种为库创建图像的好方法,无需外部幻灯片。这个程序是由Viper从另一个我曾经属于的论坛写的。
 
 
一个漂亮整洁的包裹。
享受
Mimage2.lsp
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:33:18 | 显示全部楼层
这里还有一个程序,我想你们可能还记得这个。我正在寻找一些帮助,并得到了它。该程序从程序mimage2开始创建。lsp并以此为基础。我只是用上面的程序创建了SL程序中的所有几个简单图像。当你看这个节目时,你会注意到我不需要使用外部幻灯片。我使用一个image_互动程序,在滚动弹出列表时更改图像。从目前为止我从你们那里学到的,我将能够改进这个程序以及使用cons和assoc。它将大大巩固我的编程。我希望你能像我一样充分利用它。这真的节省了时间。
 
再次享受,我迫不及待地想看看你接下来会讲什么。
 
秃鹰
SL.zip
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:36:29 | 显示全部楼层
感谢您的友好贡献Buzzard-它们提供了非常丰富的信息
 
我喜欢SL程序,在某个时候在论坛上帮助你时记得它的名字(很高兴看到它都能工作!)。我喜欢在用户将块插入图形之前将图像用作预览图块非常专业。
 
谢谢
 
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 15:42:29 | 显示全部楼层
当你开始使用对话框时,整个新世界就会打开,你将开始编写更复杂的程序。学习DCL很好,但它确实有一些缺点,这取决于程序的复杂性。如果你想制作越来越多的对话框,我建议你研究一下openDCL。它是免费的,比常规DCL更灵活。您可以将控件拖放到窗体上,并将其放置在任何位置。此外,您还有更多的对话框类型可供选择,DCL只有一种类型。如果你想学习对话框,不妨学习更多选项
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 15:46:22 | 显示全部楼层
谢谢你的建议,约翰,我将研究OpenDCL-它是一个单独的程序吗?它是免费的吗?
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 15:51:27 | 显示全部楼层
李,
 
是的,它是免费的,这是下载链接。
 
http://www.opendcl.org/
 
 
享受
秃鹰
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 19:19 , Processed in 0.839860 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表