 - ;;;(defun insdcl01 (i / k)
- ;;; (setq k (* 2 (atoi i))
- ;;; lst1 (vl-remove nil (mapcar '(lambda (x) (nth k (read x))) lst))
- ;;; lst2 (vl-remove nil
- ;;; (mapcar '(lambda (x) (nth (1+ k) (read x))) lst)
- ;;; )
- ;;; )
- ;;; (show_list "zl_1" lst1) ;lst1内nil必须去除。
- ;;; (set_tile "lj" (car lst2))
- ;;;)
- ;;;(defun insdcl02 (j / lst3)
- ;;; (setq lst3 (nth (atoi j) lst2))
- ;;; (set_tile "lj" lst3)
- ;;;)
- (defun c:dkwj (/ #wjlj bb chudir dcl_id fn lst lst1 lst2 strl)
- (XD::Begin)
- (vl-Load-COM)
- (setq strl '("dkwj:dialog {label = "打开文件";"
- "\n:boxed_row {"
- "\n:list_box {key = "zl_0";"
- "\n width=20;height=20;}"
- "\n:list_box {key ="zl_1";"
- "\n width=20;height=20;}}"
- "\n :edit_box {label = "路径:";width=20; key="lj";}"
- "\n ok_cancel;"
- "\n }"
- )
- fn (xd::dcl:make strl)
- dcl_id (load_dialog fn)
- )
- (if (not (new_dialog "dkwj" dcl_id))
- (exit)
- )
- ;;; (setq chudir "E:\\MYTOOLS\\lisp\" ;设置初始目录
- ;;; lst (XD::List:FromFile (strcat chudir "打开文件.txt"))
- ;;; lst1 (mapcar '(lambda (x) (car (read x))) lst)
- ;;; lst2 (mapcar '(lambda (x) (nth 1 (read x))) lst)
- ;;; )
- ;;; (show_list "zl_0" '("打开文件" "打开网页"))
- ;;; (show_list "zl_1" lst1)
- ;;; (set_tile "lj" (car lst2))
- ;;; (action_tile "zl_0" "(insdcl01 $value )")
- ;;; (action_tile "zl_1" "(insdcl02 $value)")
- (action_tile
- "accept"
- "(done_dialog 1)"
- )
- (action_tile "cancel" "(done_dialog 0)")
- (setq bb (start_dialog))
- (unload_dialog dcl_id)
- (vl-file-delete fn)
- (princ)
- )
程序单独或跟别的程序最后编译成Vlx能运行,如果放在别的程序前面就出现“未知命令dkwj”请高手帮忙看一下
|