如何将DCL写入LISP中呢?
如题请大家在这里讨论!
用(write-line)
(read-line)
可做
1、静态DCL文件:在编译为VLX时加入DCL资源文件就OK了。
2、动态DCL文件:在LSP中专门设置写临时DCL文件的函数,然后再调用该DCL文件。 学习一下,支持! 本帖最后由 redcat 于 2011-2-23 15:32 编辑
拿去吧
(defun makedcl (str_lst / dclfile fileID dclHandle)
(setq dclfile (vl-filename-mktemp nil nil ".dcl")
fileID (open dclfile "w")
) ;_ 结束setq
(cond
((= (type str_lst) 'str)
(write-line str_lst fileID)
)
((= (type str_lst) 'list)
(foreach n str_lst (write-line n fileID))
)
) ;_ 结束cond
(close fileID)
(setq dclHandle (load_dialog dclfile))
(vl-file-delete dclfile)
dclHandle
) ;_ 结束defun
(defun dcl2str (/ dclfile fileID str_lst str)
(if (setq dclfile (getfiled "请选择DCL文件" "c:/program files/AutoCAD 2004/support/" "dcl" 8))
(progn (setq fileID (open dclfile "r")
str_lst '()
) ;_ 结束setq
(while (setq str (read-line fileID))
(setq str_lst (cons str str_lst))
) ;_ 结束while
(close fileID)
(reverse str_lst)
) ;_ 结束progn
) ;_ 结束if
) ;_ 结束defun
功夫太浅!没系统学过对话框,就没弄明白5楼的怎么用,str_lst是什么参数?能给个用法说明或示例吗?
非常谢谢! redcat 发表于 2011-2-23 15:28 static/image/common/back.gif
拿去吧
请教怎么使用,可否做个简单说明 要好好学习一下 先收藏。在学习
页:
[1]