jdhszh 发表于 2005-6-30 17:56:00

[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:&lt;选择脚本&gt;" "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:&lt;脚本生成器&gt;";<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]
查看完整版本: [LISP]幻灯片及DWG文件批处理脚本生成器----请大虾指教