[LISP]幻灯片及DWG文件批处理脚本生成器----请大虾指教
我用LISP写的幻灯片及DWG文件批处理脚本生成器,总觉不对请指教!!!(defun C:SSCR ()<BR> (setq filename "C:\\jc\\sscr.dcl")<BR> (if (not (findfile filename))<BR> (progn<BR> (alert (strcat "Cann't find file:\n" filename))<BR> (exit 0)<BR> )<BR> )<BR> (setq fIndex (load_dialog filename))<BR> (setq filename "jdh.scr")<BR> (setq cxm "ss")<BR> (setq hdcl_flags "0")<BR> (if (new_dialog "scr" fIndex)<BR> (progn<BR> (mode_tile "btn_run" 1)<BR> (set_tile "ed_sla" filename)<BR> ;(mode_tile "ed_sla" 2)<BR> ;(mode_tile "ed_sla" 3)<BR> (set_tile "ed_jla" cxm)
(action_tile "btn_f" "(getfilename)")<BR> (action_tile "btn_w" "(getfilw)")<BR> (action_tile "ed_sla" "(setfilename)")<BR> (action_tile "rdi_txcl" "(txcll)")<BR> (action_tile "rdi_hdcl" "(hdcl)")<BR> (action_tile "btn_run" "(get_ctl)(done_dialog 1)")<BR> (action_tile "btn_exit" "(done_dialog)")<BR> (setq dowhat (start_dialog))<BR> (if (eq dowhat 1)<BR> (progn<BR> ;(princ "1234567")<BR> (jtxcl)<BR> )<BR> )<BR> )<BR> )<BR>)<BR>;;<BR>(defun jtxcl ()<BR> (setq qq (vl-filename-directory dfil))<BR> (setq bbb (vl-directory-files qq))<BR> (setq bbb (cdr (cdr bbb)))<BR> (setq ml (open scr "w"))<BR> (setq sm (length bbb))<BR> (princ ";;目录共有文件 " ml)<BR> (prin1 sm ml)<BR> (princ "\n" ml)<BR> (setq i 0)<BR> (repeat sm<BR> (setq mb (nth i bbb))<BR> (setq dwg (strcat "*" "DWG"))<BR> (setq dxg (strcat "*" "dwg"))<BR> (if (or (wcmatch mb dwg) (wcmatch mb dxg))<BR> (progn<BR> (setq mb1 (strcat qq "\\" mb))<BR> (princ "open " ml)<BR> (princ mb1 ml)<BR> (princ "\n" ml)<BR> (if (eq txcl "1")<BR> (progn<BR> (princ cxm ml)<BR> (princ "\n" ml)<BR> (princ "qsave" ml)<BR> )<BR> )<BR> (if (eq hdcl "1")<BR> (progn<BR> (princ "mslide" ml)<BR> (princ "\n" ml)<BR> (princ " " ml)<BR> )<BR> )<BR> (princ "\n" ml)<BR> (princ "close" ml)<BR> (princ "\n" ml)<BR> )<BR> )<BR> (setq i (1+ i))<BR> )<BR> (close ml)<BR> (startapp "notepad.exe" scr)<BR>)<BR>;;;;;;;<BR>(defun getfilename ()<BR> (setq filename (getfiled "jdh:<选择脚本>" "c:\\" "scr" 1))<BR> (if filename<BR> (progn<BR> (set_tile "ed_sla" filename)<BR> ;(setq txcl (get_tile "rdi_txcl"))<BR> ;(setq hdcl (get_tile "rdi_hdcl"))<BR> (setq cxm (get_tile "ed_jla"))<BR> (setq scr (get_tile "ed_sla"))<BR> (mode_tile "btn_run" 0)<BR> )<BR> )<BR>)<BR>;;end def<BR>(defun getfilw ()<BR> (setq dfil (getfiled "选择所要处理文件夹任一文件" "D:/" "*" 4))<BR> (if filename<BR> (progn<BR> (set_tile "ed_swz" dfil)<BR> (setq dfil (get_tile "ed_swz"))<BR> )<BR> )<BR>)<BR>(defun setfilename()<BR> ;;(mode_tile "ed_jla" 3)<BR> (setq filename (get_tile "ed_sla"))<BR>)<BR>(defun txcll ()<BR> (setq hdcl_flags "1")<BR> (mode_tile "rdi_txcl" 0)<BR> (mode_tile "ed_jla" 3)<BR>)<BR>(defun hdcl ()<BR> (setq hdcl_flags "0")<BR> (mode_tile "rdi_txcl" 1)<BR> (mode_tile "ed_jla" 1)<BR> );;end def<BR>(defun get_ctl ()<BR> (setq txcl (get_tile "rdi_txcl"))<BR> (setq hdcl (get_tile "rdi_hdcl"))<BR> )
------------------------------------------
scr:dialog{<BR> label="JDH:<脚本生成器>";<BR> :row{<BR> :boxed_column<BR> {<BR> label="参数设置:";<BR> :row{<BR> :edit_box {<BR> label="处理DWG文件位置:"; <BR> key="ed_swz";<BR> }<BR> :button{<BR> label="定位";<BR> key="btn_w";<BR> width=8;<BR> fixed_width=true;<BR> }<BR> }<BR> :edit_box {<BR> label="加载程序名称:"; <BR> key="ed_jla";<BR> }<BR> :row{<BR> :edit_box {<BR> label="脚本名称及位置:"; <BR> key="ed_sla";<BR> }<BR> :button{<BR> label="---";<BR> key="btn_f";<BR> width=8;<BR> fixed_width=true;<BR> }<BR> }<BR> :radio_row{<BR> :radio_button{<BR> label="生成原图形处理脚本!";<BR> key="rdi_txcl";<BR> value=1;<BR> }<BR> :radio_button{<BR> label="单个幻灯片生成脚本!"; <BR> key="rdi_hdcl";<BR> }<BR> }<BR> :text{<BR> label=" 河南省测绘工程院";<BR> }<BR> }//end column//<BR> <BR> :column{<BR> :column{ <BR> :button{<BR> label="处理";<BR> key="btn_run";<BR> width=12;<BR> is_default=true;<BR> fixed_width=true;<BR> }<BR> :button{<BR> label="退出";<BR> key="btn_exit";<BR> width=12;<BR> fixed_width=true;<BR> }<BR> spacer_1;<BR> }<BR> :text{<BR> }<BR> :text{<BR> }<BR> :text{<BR> }<BR> }<BR> }//end row<BR> }//end dialog
页:
[1]