明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 15888|回复: 29

[【不死猫】] [不死猫原创] 利用文字排列实现可视化DCL开发(开源)

  [复制链接]
发表于 2010-6-14 23:54:00 | 显示全部楼层 |阅读模式
本帖最后由 nonsmall 于 2014-9-17 14:35 编辑

用文字排列组合之后,经过简单的代码解析,即可实现DCL编码的可视化. 下面是完整开发思路,使用教程

源码见

你的代码写什么样子,DCL就是什么样子:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2019-4-12 23:20:55 | 显示全部楼层

高山仰止                     
发表于 2021-9-16 17:48:15 | 显示全部楼层
果然很大神要是能加颜色啥的就好了
发表于 2021-4-4 23:12:53 来自手机 | 显示全部楼层
谢谢楼主分享,学习
发表于 2010-6-15 16:18:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2010-6-16 10:24:00 | 显示全部楼层
本帖最后由 nonsmall 于 2014-9-17 14:19 编辑

测试代码和核心函数下载
  1. ;nonsmall 作品 可视化DCL新思路
  2. (defun c:tt( / dcl_id f file i stra)
  3.     ;这里就是你要的排列样式
  4.     (setq stra "nonsmall:dialog{label="可视化DCL";" i 0)
  5.     (setq stra (strcat stra (getdcl dcl)))
  6.     (setq stra (strcat stra "ok_cancel;}"))     
  7.     ;把DCL代码写出并且调用观看效果
  8.     (setq file "d:\\test.dcl")
  9.     (if (findfile file)
  10.         (setq f (open "d:\\test.dcl" "w"))
  11.         (setq f (open "d:\\test.dcl" "a"))
  12.     )
  13.     (write-line stra f)
  14.     (close f)
  15.     (setq dcl_id (load_dialog file))
  16.     (new_dialog "nonsmall" dcl_id)
  17.     (start_dialog)
  18.     (unload_dialog dcl_id)
  19.     (startapp "notepad" file)
  20.     (princ)
  21. )

  22. (setq dcl '(
  23.     ("群1-2个" "群2-3个" "群3-图")
  24.     ("群4-其他控件")
  25. ))
  26. (setq 群1 '(
  27.     ("组1")
  28. ))
  29. (setq 组1 '(
  30.     ("单选-单选1")
  31.     ("单选-单选2")
  32. ))
  33. (setq 群2 '(
  34.     ("多选-多选1")
  35.     ("多选-多选2")
  36.     ("多选-多选3")
  37. ))
  38. (setq 群3 '(
  39.     ("图像")
  40.     ("按钮-按钮")
  41. ))
  42. (setq 群4 '(
  43.     ("竖滚动" "群5-嵌套")
  44. ))
  45. (setq 群5 '(
  46.     ("横滚动")
  47.     ("下拉")
  48.     ("文字-我的DCL")
  49. ))
  50. (princ)
自动生成的DCL代码如下:

  1. nonsmall:dialog{label="可视化DCL";:row{:boxed_column{ label = "2个";:row{:column{:row{:radio_button{key = "radio3"; label = "单选1" ;}}:row{:radio_button{key = "radio4"; label = "单选2" ;}}}}}:boxed_column{ label = "3个";:row{:toggle{key = "toggle6"; label = "多选1" ;}}:row{:toggle{key = "toggle7"; label = "多选2" ;}}:row{:toggle{key = "toggle8"; label = "多选3" ;}}}:boxed_column{ label = "图";:row{:image_button{key = "list10" ;width = 18.15 ;height = 7.875 ;}}:row{:button{key = "bt11"; label = "按钮" ;}}}}:row{:boxed_column{ label = "其他控件";:row{:slider{key = "list13" ;layout = vertical ;}:boxed_column{ label = "嵌套";:row{:slider{key = "list15" ;layout = horizontal ;}}:row{:popup_list{key = "list16" ;}}:row{:text{key = "txt17"; label = "我的DCL" ;}}}}}}ok_cancel;}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2010-6-16 10:30:00 | 显示全部楼层

说明:

本程序支持的关键词包括:

按钮 输入 列表 下拉 文字 单选 多选 图像 竖滚动 横滚动 群 组

其中支持带有说明文字的:

按钮-说明

文字-说明

单选-说明

多选-说明

群和组支持1-9个,后面也可以有说明

详见1楼的思路说明

发表于 2010-6-16 10:34:00 | 显示全部楼层

猫是花样百出啊

发表于 2010-6-16 10:36:00 | 显示全部楼层
nonsmall发表于2010-6-16 10:30:00说明: 本程序支持的关键词包括: 按钮 输入 列表 下拉 文字 单选 多选 图像 竖滚动 横滚动 群 组 其中支持带有说明文字的: 按钮-说明 文字-说明 单选-说明 多选-说明 群和组支持1-9个,后

发表于 2010-6-16 14:09:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2010-6-17 09:50:00 | 显示全部楼层
本帖最后由 nonsmall 于 2014-9-17 14:30 编辑

黑色钢琴发表于2010-6-16 14:09:00DCL简单,用飞诗的制作DCL一下子就出来,没必要搞太复杂

无知真可怕。

发表于 2010-6-17 19:41:00 | 显示全部楼层

支持一下

发表于 2010-6-17 20:00:00 | 显示全部楼层
本帖最后由 作者 于 2010-6-17 20:50:49 编辑

nonsmall发表于2010-6-17 9:50:00KO,liminnet,我的东西不需要你评价。 你都说过了不来明经论坛的,说话不算话。

他在08年說話的語氣多謙虛啊

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

本版积分规则

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

GMT+8, 2024-11-25 15:41 , Processed in 0.196109 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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