乐筑天下

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

[编程交流] 单属性编辑LISP

[复制链接]

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 18:54:37 | 显示全部楼层
嗯,我刚才在想的另一件事是,有没有一种方法可以编辑代码,这样我就可以用windows用户名和我想在REVBY属性中自动输入的缩写创建一个主列表?没有对话框。。我们可以将其称为C:REVBY,然后我可以将该命令移植到我编写的“plot”例程中。这样,当他们运行plot命令时,即C;DPA,它将像普通一样运行绘图,但在绘图之前也有C:REVBY,这样他们就不必手动键入另一个命令来更新其首字母。。。我注意到的另一个步骤被遗忘了。感谢所有帮助。谢谢
回复

使用道具 举报

47

主题

257

帖子

216

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
229
发表于 2022-7-5 18:56:54 | 显示全部楼层
请尝试以下操作:
  1.   ;; List Select Dialog (Temp DCL list box selection, based on provided list)
  2. ;; title - list box title
  3. ;; label - label for list box
  4. ;; height - height of box
  5. ;; width - width of box
  6. ;; multi - selection method ["true": multiple, "false": single]
  7. ;; lst - list of strings to place in list box
  8. ;; Alan J. Thompson, 09.23.08 / 05.17.10 (rewrite)
  9. (defun AT:ListSelect (title label height width multi lst / fn fo d f)
  10. (setq fo (open (setq fn (vl-filename-mktemp "" "" ".dcl")) "w"))
  11. (foreach x (list (strcat "list_select : dialog { label = "" title ""; spacer;")
  12.                   (strcat ": list_box { label = "" label "";" "key = "lst";")
  13.                   (strcat "allow_accept = true; height = " (vl-princ-to-string height) ";")
  14.                   (strcat "width = " (vl-princ-to-string width) ";")
  15.                   (strcat "multiple_select = " multi "; } spacer; ok_cancel; }")
  16.             )
  17.    (write-line x fo)
  18. )
  19. (close fo)
  20. (new_dialog "list_select" (setq d (load_dialog fn)))
  21. (start_list "lst")
  22. (mapcar (function add_list) lst)
  23. (end_list)
  24. (setq item (set_tile "lst" "0"))
  25. (action_tile "lst" "(setq REVBY $value)")
  26. (setq f (start_dialog))
  27. (unload_dialog d)
  28. (vl-file-delete fn)
  29. (if (= f 1)
  30.    ((lambda (s / i s l)
  31.       (while (setq i (vl-string-search " " s))
  32.         (setq l (cons (nth (atoi (substr s 1 i)) lst) l))
  33.         (setq s (substr s (+ 2 i)))
  34.       )
  35.       (reverse (cons (nth (atoi s) lst) l))
  36.     )
  37.      item
  38.    )
  39. )
  40. )
回复

使用道具 举报

47

主题

257

帖子

216

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
229
发表于 2022-7-5 18:58:15 | 显示全部楼层
天才虽然你已经知道了。来自美国的祝福李和感恩节快乐!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:03:04 | 显示全部楼层
谢谢,我很高兴能帮上忙
回复

使用道具 举报

47

主题

257

帖子

216

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
229
发表于 2022-7-5 19:06:35 | 显示全部楼层
嘿,李,我的一个同事刚刚提出了一个有效的观点,这真的没什么大不了的,因为无论如何,我更喜欢更改缩写。当用户打开一个图形只是为了打印而不改变任何东西时,有没有一种方法可以在其中写入if语句。。意思是没有更改,然后忽略正在更改的用户首字母?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:08:51 | 显示全部楼层
嗯,上面的请求比这个请求最不重要。。是否有方法添加另一条语句来交叉检查DRAWBY或DRAWNBY属性中的这些首字母,如果DRAWBY或DRAWNBY首字母与当前用户完全相同,则不要为REVBY、REVIBY属性标记值输入首字母。。只是一个想法。
回复

使用道具 举报

47

主题

257

帖子

216

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
229
发表于 2022-7-5 19:13:03 | 显示全部楼层
 
只是不运行命令?
回复

使用道具 举报

47

主题

257

帖子

216

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
229
发表于 2022-7-5 19:16:46 | 显示全部楼层
这完全有道理,我向你们保证,我想了一下,哈哈,但是我保证,我的命令与我们的plot命令相结合,因为大多数用户往往忘记更改他们的缩写,所以我冒昧地以编程方式进行了更改。这很好,虽然真的没什么大不了,我只是好奇。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 19:18:30 | 显示全部楼层
回复

使用道具 举报

47

主题

257

帖子

216

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
229
发表于 2022-7-5 19:20:30 | 显示全部楼层
That would make total sense and I assure you I gave it some thought, lol, I promise  However, I have the command piggybacking with our plot command because most users tend to forget to change their initials so I took the liberty to do it programmatically. Its fine though really no big deal I was just curious.
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 20:05 , Processed in 0.733142 second(s), 70 queries .

© 2020-2025 乐筑天下

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