乐筑天下

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

[编程交流] 有这样的插件可以格式化

[复制链接]

26

主题

145

帖子

122

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-5 22:15:10 | 显示全部楼层 |阅读模式
有这样的插件可以将Dcl格式化为Lisp吗?
这样地:
 
格式化之前
DCL文件
  1. roughness
  2. :dialog{ label="Roughness ";
  3. spacer;
  4. :row{
  5. :column{
  6.   :image_button{ key = "RM"; aspect_ratio = 1; width = 8; fixed_width = true; color = -2; allow_accept = true; }
  7.   :image_button{ key = "UN"; aspect_ratio = 1; width = 8; fixed_width = true; color = -2; allow_accept = true; }
  8.   :image_button{ key = "BS"; aspect_ratio = 1; width = 8; fixed_width = true; color = -2; allow_accept = true; }
  9. }
  10. :list_box{ key="RV"; value=8; width=16; height=14; allow_accept=true; }
  11. }
  12. :row{
  13. :errtile{ width= 14; }
  14. :edit_box{ label = "Scale:"; key = "SC"; edit_width = 3; }
  15. }
  16. ok_cancel;
  17. }

 
格式化后
Lisp文件
  1.         strl        '("roughness:dialog{                  "
  2.                  "label="Roughness ";                  "
  3.                  "spacer;                          "
  4.                  ":row{                          "
  5.                  "  :column{                          "
  6.                  "     :image_button{ key = "RM";"
  7.                  "      aspect_ratio = 1;          "
  8.                  "      width = 8;                  "
  9.                  "      fixed_width = true;          "
  10.                  "      color = -2;                  "
  11.                  "      allow_accept = true;          "
  12.                  "      }                          "
  13.                  "     :image_button{                  "
  14.                  "      key = "UN";                  "
  15.                  "      aspect_ratio = 1;          "
  16.                  "      width = 8;                  "
  17.                  "      fixed_width = true;          "
  18.                  "      color = -2;                  "
  19.                  "      allow_accept = true;          "
  20.                  "      }                          "
  21.                  "     :image_button{ key = "BS";"
  22.                  "      aspect_ratio = 1;          "
  23.                  "      width = 8;                  "
  24.                  "      fixed_width = true;          "
  25.                  "      color = -2;                  "
  26.                  "      allow_accept = true;          "
  27.                  "     }                          "
  28.                  "   }                                  "
  29.                  "   :list_box{                  "
  30.                  "    key="RV";                  "
  31.                  "    value=8;                          "
  32.                  "    width=16;                  "
  33.                  "    height=14;                  "
  34.                  "    allow_accept=true;          "
  35.                  "    }                          "
  36.                  "  }                                  "
  37.                  "  :row{                          "
  38.                  "    :errtile{                  "
  39.                  "     width= 14;                  "
  40.                  "     }                          "
  41.                  "    :edit_box{                  "
  42.                  "     label = "Scale:";          "
  43.                  "     key = "SC";                  "
  44.                  "     edit_width = 3;                  "
  45.                  "     }                             "
  46.                  "   }                                  "
  47.                  "    ok_cancel;                  "
  48.                  "}                                  "
  49.                 )
  50. ) ;_DCL
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 22:21:37 | 显示全部楼层
你好,阿尔贝托。
 
您的dcl代码格式正确。
回复

使用道具 举报

26

主题

145

帖子

122

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
130
发表于 2022-7-5 22:26:09 | 显示全部楼层
 
嗨Tharwat
很高兴认识你!
这是手动格式化,太累了!!!我的意思是,有一个工具可以自动格式化???
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 22:29:19 | 显示全部楼层
 
非常感谢。
 
 
没有什么是容易的
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 22:32:27 | 显示全部楼层
 
假设您正在使用代码编辑器编写代码(如果没有,为什么不?!),使用大多数代码编辑器提供的标准编辑实用程序添加必要的引号。
 
例如,查找/替换“为”
所有行的前缀均为“
将所有行追加为“
 
工作完成。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 22:36:08 | 显示全部楼层
 
读取DCL文件字符串并将其重写为txt文件或列表将完成此过程。
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 22:40:56 | 显示全部楼层
我过去的做法与塔尔瓦类似
 
  1. (defun dcl->lst        ( fn / str fn f l)
  2. (if (and fn (setq f (open fn "r")))
  3.    (while (setq str (read-line f)) (setq l (cons str l)))
  4.    ) ;_ end of if
  5. (close f)
  6. (reverse l)
  7. ) ;_ end of defun

 
使用控制台或vlide负载选择
  1. (setq tmp (dcl->lst (getfiled "" "" "dcl" ))

从控制台复制列表,然后将其粘贴到编辑器,然后格式化选择
仍然有点手动,而不是完全自动化。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 22:46:31 | 显示全部楼层
 
但是没有必要-这意味着将代码保存到一个单独的文件中,加载并运行程序来处理文件,选择要处理的保存文件,打开处理过的文件并将结果复制回编辑器。在我看来,在编辑器中简单地选择代码并直接对选择执行必要的操作要容易得多——我可能比运行单独的程序更快。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 22:49:26 | 显示全部楼层
我过去常常以Dcl格式写入,然后将属性检索到Vlide的列表中,然后将它们复制并粘贴到目标程序中,但现在我能够在我的程序中写入Dcl属性,而无需直接执行所有上述过程。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 22:54:29 | 显示全部楼层
hanhphuc,建议在程序中具有progn功能,以避免在用户最初未到达正确文件时出现错误消息。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 06:03 , Processed in 0.801705 second(s), 72 queries .

© 2020-2025 乐筑天下

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