明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1804|回复: 6

DCL新手求助

[复制链接]
发表于 2004-12-16 16:55:00 | 显示全部楼层 |阅读模式
我编了一个LISP程序用命令行没问题,想编一个DCL文件用对话框来实现,但却不成功,请高手帮忙指正一下,程序太长,我贴几段关键的,也是我不敢肯定的给大家参考,免得大家眼累 (defun C:order()
(if (> (setq index_value (load_dialog "C:\order_list.dcl")) 0)
(progn
(if (new_dialog "order_list" index_value))
(progn
(action_tile "b01" "(setq e_p (qf_getFolder))")
(action_tile "b02" "(setq a_p (qf_getFolder))")
(set_tile "mold_NO" "000000")
(set_tile "path_1" e_p)
(set_tile "amd_dat" a_p)
(action_tile "make_list" "(mode_tile "amd_dat" 1) (make_list)")
(action_tile "make_dat" "(mode_tile "amd_dat" 2) (link_amd)")
(action_tile "mold_NO" "(setq my_mold $value)")
(action_tile "path_1" "(setq e_path $value)")
(action_tile "amd_dat" "(setq adat $value)")
(start_dialog)
)
(alert "Unable to display dialog box")
)
(unload_dialog index_value)
)
(alert "Unable to load dialog box")
)
(princ)
)
;----------------------------
(defun make_list()
.
.
. (setq f_source1 (findfile (strcat e_path "buw_excel.txt")))
(setq f_tool1 (open f_source1 "r"))

.
.
.
(if (<= f_L 15) (command "insert" "order_bom" (polar list1_o 0 0) "" "" "" my_mold my_date))
.
.
.
(setq f_source2 (findfile (strcat e_path "buw_excel.txt")))
(setq f_tool2 (open f_source2 "r"))
(read-line f_tool2)
;---------------------
(repeat f_L
(setq row_c (read-line f_tool2))
(sub_space)
.
.
.
(make_mytxt)
.
.
.
)
(defun link_amd()
.
.
.
)
;;----------------------------------------------------------
(defun make_mytxt()
.
.
.
)
;;-------------------------------------------------------------------
(defun qf_getFolder (msg / WinShell shFolder path catchit)
(vl-load-com)
(setq winshell (vlax-create-object "Shell.Application"))
(setq shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1))
(setq
catchit (vl-catch-all-apply
'(lambda ()
(setq shFolder (vlax-get-property shFolder 'self))
(setq path (vlax-get-property shFolder 'path))
)
)
)
(if (vl-catch-all-error-p catchit)
nil
path
)
)
 楼主| 发表于 2004-12-16 17:00:00 | 显示全部楼层
这是DCL文件 order_list:dialog{
label="order_list";
key="order_list";
:column
{
alignment=centered;
width=52; :text
{
alignment=centered;
label="****专用"; }
:row
{
alignment=centered; :text
{
alignment=centered;
label=" 本程序仅供交流探讨,若出错,作者概不负责!!!"; }
}
:row
{
alignment=centered; :boxed_row
{
alignment=centered;
fixed_width=true;
width=11;
label="模号"; :edit_box
{
alignment=centered;
fixed_width=false;
label="输入模号";
key="mold_NO";
value="000000"; }
}
:boxed_row
{
alignment=centered;
fixed_width=false;
width=37;
label="EMX中继档位置"; :edit_box
{
alignment=centered;
fixed_width=false;
width=17;
label="输入路径";
key="path_1";
value="D:\\temp"; }
:button
{
alignment=centered;
key="b01";
label="浏览"; }
}
}
:boxed_row
{
alignment=centered;
label="生成AMD文件"; :edit_box
{
alignment=centered;
label="输入文件名";
key="amd_dat";
value="000000.dat"; }
:button
{
alignment=centered;
key="b02";
label="浏览"; }
}
:radio_row
{
alignment=centered;
label="列表"; :radio_button
{
action="(SETQ NY 1)";
alignment=centered;
key="make_list";
label="制作订料单"; }
:radio_button
{
action="(SETQ NY 0)";
alignment=centered;
key="make_dat";
label="制作AMD文件"; }
}
ok_cancel; } }
发表于 2004-12-16 17:15:00 | 显示全部楼层
用2004还是用2005编的,2000肯定通不过
 楼主| 发表于 2004-12-16 17:18:00 | 显示全部楼层
这是DCL的截图,是用以前一个网友上传的DCL制做工具制做的
 楼主| 发表于 2004-12-16 17:25:00 | 显示全部楼层
2002编的

本帖子中包含更多资源

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

x
 楼主| 发表于 2004-12-16 17:37:00 | 显示全部楼层
zhang007发表于2004-12-16 17:15:00用2004还是用2005编的,2000肯定通不过
2002编的,你是指哪一段?
发表于 2004-12-16 17:41:00 | 显示全部楼层
DCL显示的时候是不可以使用command的,参考帮助文件中的“对话框被打开时的函数限制”部分
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-30 02:25 , Processed in 0.157894 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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