明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 59862|回复: 179

[原创] █ 直接将VBForm转DCL 程序【VB2DCL】【含截图及演示】█

    [复制链接]
发表于 2010-10-2 22:23:00 | 显示全部楼层 |阅读模式
本帖最后由 santalin 于 2011-11-15 12:31 编辑

VBForm 转 DCL 程序 VB2DCL
作 者: 安徽省水利水电勘测设计院 水工三处 LSD
程序功能:用VB的Form直接生成DCL对话框程序极其调用的LSP文件
能自动对DCL对话框中的参数进行读取和赋值,并输出
使用步骤:
一、在VB中绘制好表单Form
注意:排列的时候尽量一行的Top坐标相同,这样能保证在同一行
二、将生成的DCL及LSP文件拷贝CAD能读取到的目录下
三、在CAD里加载LSP文件,输入命令tt即可看到效果


另外:你对应的默认文件路径可以到 Support\vb2dcl_set.ini 更改

视频演示可以到我的网盘下载:
http://santalin.ys168.com/


生成的DCL和LISP程序都带有注释
一个简单程序,上传上来给大家交流一下,有什么BUG欢迎提出


由于编写时间很仓促,有什么需要改进的地方,
欢迎提出,我将根据大家意见改进后将推出新版

下面展示一下
程序界面截图:


Program Screenshots


VBForm 截图:


生成的DCL对话框截图:


VB2DCL程序:


对于说害怕美化程序和解压支持文件这两个应用程序是病毒的朋友 ,直接下载未美化版本:


(声明:【程序界面美化】和【解压支持文件】绝不是病毒,只是加壳导致杀毒软件误报)

为满足外国朋友需求,特推出英文版(English Version):


演示视频截图:


VB2DCL程序使用的视频录像演示(带语音解说):
有1M多,不上传附件了,到我的网盘下载吧:
http://santalin.ys168.com/

好用的话就顶个帖支持一下啊

PS:在此感谢nonsmall的程序思路
感谢 mccad 的精华操作

这个程序的实现,关键就在于递归调用
下面是程序关键流程框图及伪代码(你可以根据这个框图写成任何语言的程序):

以下内容只有回复后才可以浏览

本帖子中包含更多资源

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

x

评分

参与人数 4明经币 +4 金钱 +40 贡献 +5 激情 +5 收起 理由
xiaoquansb + 1 + 10 报告楼主,FROM里控件名称重复(我拷贝粘贴了.
革天明 + 1 很给力!
zctao1966 + 10 精品文章,谢谢分享!
mccad + 2 + 20 + 5 + 5 【精华】好程序

查看全部评分

发表于 2020-9-12 21:45:59 | 显示全部楼层
批量修改标注样式  无法下载了
你的网盘打不了
发表于 2024-8-3 20:37:55 | 显示全部楼层
谢谢分享,让我们携手共创论坛美好未来!
发表于 2017-10-29 14:51:39 | 显示全部楼层
原来的文件没有了,我补上

本帖子中包含更多资源

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

x
 楼主| 发表于 2010-10-2 22:30:00 | 显示全部楼层
本帖最后由 santalin 于 2011-11-28 13:01 编辑

明经无法下载的TX可以到我的网盘下载:
http://santalin.ys168.com/
用这个程序开发的一个样品:


这里展出成果:
DCL文件:


  1. Form1:dialog
  2. { // start Form1
  3. label = "Form1";
  4. key = "Form1";
  5. :row
  6. { //start row
  7. :boxed_column
  8. { // start frm_other
  9. key = "frm_other";
  10. label = "选择文件:";
  11. width = 52.95;
  12. fixed_height = true;
  13. fixed_width = true;
  14. :row
  15. 剩下的省略...

LISP文件:
  1. (defun c:tt()
  2. (setvar "cmdecho" 0)
  3. (setq dcl_id (load_dialog "form1")) ;对话框加载
  4. (if (not (new_dialog "Form1" dcl_id))
  5. (progn (alert "不能装入对话框") (exit))
  6. )
  7. (lsd_Form1_getvar) ;从内存获取之前设定过的变量值
  8. (action_tile "accept" "(lsd_Form1_setvar)") ;执行操作,给变量赋值
  9. (action_tile "cancel" "(done_dialog)") ;取消对话框
  10. (lsd_Form1_cmdAction) ;定义按钮动作
  11. (start_dialog) ;启动对话框
  12. (unload_dialog dcl_id) ;卸载对话框
  13. (setvar "cmdecho" 1)
  14. (princ)
  15. )

  16. 剩下的省略...

需要看的话自己下载附件,用个VBForm测试一下就知道了
如果还不明白,到我的网盘
http://e.ys168.com/?santalin

里面有这个程序的视频演示,也不大,就1M多,看一下什么都清楚了


本帖子中包含更多资源

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

x
发表于 2010-10-2 22:31:00 | 显示全部楼层
支持一下,没有地方下载么?
 楼主| 发表于 2010-10-2 22:40:00 | 显示全部楼层
附件里有
发表于 2010-10-2 23:10:00 | 显示全部楼层

支持一下

发表于 2010-10-2 23:33:00 | 显示全部楼层

不错,是这个意思

发表于 2010-10-2 23:35:00 | 显示全部楼层
本帖最后由 作者 于 2010-10-3 12:52:37 编辑

点下面的链接查看

可视化DCL编程思路

当初那个帖子

发表于 2010-10-3 00:19:00 | 显示全部楼层
支持一楼做出如此好的可视化对话框制作程序。再次严重支持。最重要的是无私的共享。更重要的头一个有这种程序在明经上传共享!严重呼呼广大网友制作DCL对话框只用飞诗的和本贴一楼朋友的程序足矣。因为这两人的程序是目前最好和免费的。最后说一句,看来有人是坐不住啦!因为手里的支票已兑现不了现金了
发表于 2010-10-3 00:30:00 | 显示全部楼层
赶快下载一个“菜鸟”级写的程序先。说不定一楼的贴到时又得罪了某些人的利益,被投诉,扣上一顶“不和谐”的帽子,贴子被删就没得下了,赶快了。。。  
发表于 2010-10-3 01:04:00 | 显示全部楼层

楼主开玩笑猫兄不必介意吧,另外源码放不放是猫兄的自由,呵呵,局外人胡乱评论,欢迎拍砖

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

本版积分规则

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

GMT+8, 2024-11-25 12:54 , Processed in 0.180406 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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