- 积分
- 345
- 明经币
- 个
- 注册时间
- 2004-8-17
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
我编了一个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 ) ) |
|