726613 发表于 2013-4-3 16:59:37

图框项目快速修改程序的问题


             图一

            图二


               图三
TK3.DOC
tk3a: dialog {label = "图框项目修改";
   spacer;
   : row {
       :boxed_row { label = "输入资料";
          :column {
             :button {label= "品名";key= "ty1";fixed_height= true;}         
             :button {label= "模号";key= "ty2";fixed_height= true;}
             :button {label= "图号";key= "ty3";fixed_height= true;}
             :button {label= "路径";key= "ty4";fixed_height= true;}
             :button {label= "设计";key= "ty5";fixed_height= true;}
             :button {label= "审核";key= "ty6";fixed_height= true;}
             :button {label= "核准";key= "ty7";fixed_height= true;}
             :button {label= "机型";key= "ty8";fixed_height= true;}   
             :button {label= "件名";key= "ty9";fixed_height= true;}
             :button {label= "版本";key= "ty10";fixed_height= true;}

}
          :column {
             :edit_box {label= "";key= "gy1";edit_width= 15;edit_limit= 15;}      
             :edit_box {label= "";key= "gy2";edit_width= 15;edit_limit= 15;}
             :edit_box {label= "";key= "gy3";edit_width= 15;edit_limit= 15;}
             :edit_box {label= "";key= "gy4";edit_width= 15;edit_limit= 15;}
             :edit_box {label= "";key= "gy5";edit_width= 15;edit_limit= 15;}
             :edit_box {label= "";key= "gy6";edit_width= 15;edit_limit= 15;}
             :edit_box {label= "";key= "gy7";edit_width= 15;edit_limit= 15;}
             :edit_box {label= "";key= "gy8";edit_width= 15;edit_limit= 15;}      
             :edit_box {label= "";key= "gy9";edit_width= 15;edit_limit= 15;}      
             :edit_box {label= "";key= "gy10";edit_width= 15;edit_limit= 15;}

}
         }



   }

   :row {
      spacer;
   ok_button;
          cancel_button;
      spacer;
          }
}


tk3b: dialog {label = "选择对应词语";
         :list_box {key= "zhi1";width= 34.5;height= 18;allow_accept = true;fixed_width= true;}
         :edit_box {label= "编缉输入";mnemonic= "N";key= "zhi2";fixed_width= true;fixed_height= true;edit_width = 21;}
         :row {alignment = centered;
               :button {label =" 加入 ";key= "add";}
            spacer;
            spacer;
               ok_button;
         }
}

(defun c:tk3 (/)
   (if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)
          (exit)
          )
   (if (not (NEW_DIALOG "tk3a" dd_id))
          (exit)
          )
   (lboxt)
   (action_tile "accept" "(getdat)(done_dialog 1)")
   (action_tile "cancel" "(done_dialog 0)")
   (action_tile "ty1" "(auto_s1)")
   (action_tile "ty2" "(auto_s2)")
   (action_tile "ty3" "(auto_s3)")
   (action_tile "ty4" "(auto_s4)")
   (action_tile "ty5" "(auto_s5)")
   (action_tile "ty6" "(auto_s6)")
   (action_tile "ty7" "(auto_s7)")
   (action_tile "ty8" "(auto_s8)")
   (action_tile "ty9" "(auto_s9)")
   (action_tile "ty10" "(auto_s10)")
   (setq sdt (start_dialog))
   (unload_dialog dd_id)
   (if( > sdt 0)(iio))
   )
(DEFUN LBOXt ()
   (setq filex (open "C:\\XZH\\tk3.mb" "r"))
   (SETQ TEMP_S (READ-LINE filex))
   (WHILE (/= TEMP_S NIL)
          (SETQ TMP_L (APPEND TMP_L (LIST TEMP_s)))
          (setq TEMP_S (READ-LINE filex))
          )
   (close filex)
   (set_tile "gy1" (nth 1tmp_l))
   (set_tile "gy2" (nth 2tmp_l))   
   (set_tile "gy3" (nth 3tmp_l))
   (set_tile "gy4" (nth 4tmp_l))
   (set_tile "gy5" (nth 5tmp_l))
   (set_tile "gy6" (nth 6tmp_l))
   (set_tile "gy7" (nth 7tmp_l))
   (set_tile "gy8" (nth 8tmp_l))
   (set_tile "gy9" (nth 9 tmp_l))
   (set_tile "gy10" (nth 10 tmp_l))   
   )

(defun auto_s1 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3pm.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy1" mmc)
    )
)

(defun auto_s2 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3mh.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy2" mmc)
    )
)

(defun getdat ()
   (setq w1(get_tile "gy1")         
         w2(get_tile "gy2")   
         w3(get_tile "gy3")
         w4(get_tile "gy4")
         w5(get_tile "gy5")
         w6(get_tile "gy6")
         w7(get_tile "gy7")
         w8(get_tile "gy8")   
         w9(get_tile "gy9")
         w10(get_tile "gy10")
                     
         )
         )
(defuniio(/ pt1 pt2 disx disy acx acy pt0 os )
   (setvar "cmdecho" 0)
   (setq pt1 (getpoint "\n-->请选择图形左上角:"))
   (setq pt2 (getcorner pt1 "\n-->请选择图形右下角:"))
   (setq disx (abs (- (car pt1) (car pt2))))
   (setq disy (abs (- (cadr pt1) (cadr pt2))))
   (setq acx(/ disx 230.00))
   (setq acy(/ disy 130.00))
   (if (> acy acx)(setq acx acy))   
   (setq pt0 (list (- (car pt1 ) (* 37 acy ))(+ (cadr pt1) (* 25 acy))(caddr pt1)))
   (setq os (getvar "osmode"))
   (setvar "osmode" 1)
   (command "style" "standard" "宋体" "" "" "" "" "")
   (savefile)
   (command "insert""tk3.dwg" pt0 "x" acx "" "" ""w1 w2 w3 w4 w5 w6 w7 w8 w9 w10)
   (setvar "osmode" os)
    (princ)
)

(defun savefile()
   (setq filey(open "C:\\XZH\\tk3.mb" "w"))
   (write-line w1 filey)
   (write-line w2 filey)   
   (write-line w3 filey)
   (write-line w4 filey)
   (write-line w5 filey)
   (write-line w6 filey)
   (write-line w7 filey)
   (write-line w8 filey)
   (write-line w9 filey)
   (write-line w10 filey)
    (close filey)   
)

(defun auto_add()
   (setq te_d (get_tile "zhi2"))
(setq fiy (open (strcat fi_path nb ) "a"))
(write-line te_d fiy)
(close fiy)
(fi_a)
)


(defun fi_a (/ l1 l3 fi n mst)
(setq      fi (open (strcat fi_path nb ) "r"))
(start_list "zhi1")
(while (setq tmp_w (read-line fi))
    (add_listtmp_w )
   )
(setq tmp_x tmp_w)
(end_list)
(close fi)
)

(defun rre()   
(SETQ F_ID (OPEN (strcat fi_path nb ) "r"))
(setq tmp_r(+ 1 tmp_r))
(REPEAT TMP_R(setq mmd (READ-LINE F_ID)))
(setq mmc(get_tile "zhi2"))
   (set_tile "zhi2" mmd)
)

(defun rrh ()
   (setq mmc(get_tile "zhi2")))

(defun auto_s3 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3th.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy3" mmc)
    )
)

(defun auto_s4 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3lj.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy4" mmc)
    )
)

(defun auto_s5 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3sj.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy5" mmc)
    )
)

(defun auto_s6 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3sh.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy6" mmc)
    )
)

(defun auto_s7 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3hz.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy7" mmc)
    )
)

(defun auto_s8 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3jx.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy8" mmc)
    )
)

(defun auto_s9 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3jm.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy9" mmc)
    )
)

(defun auto_s10 ()
(if (< (SETq dd_id (LOAD_DIALOG "tk3.DCL")) 0)(exit))
(if (not (NEW_DIALOG "tk3b" dd_id))(exit))
   (setq fi_path "C:\\XZH\\" nb "tk3bb.mb")
   (fi_a)
   (action_tile "add" "(auto_add)")
      (ACTION_TILE "zhi1" "(SETQ TMP_R (ATOI (GET_TILE \"zhi1\")))(rre)")
      (action_tile "accept" "(rrh)(done_dialog 2)")
   (setqsee (start_dialog))
   (unload_dialog dd_id)
   (if (>= see 0)
      (set_tile "gy10" mmc)
    )
)



以上程序及对话框,在执行TK3时有以下问题点

1、输入TK3命令时,出现 tk3 ; 错误: 参数类型错误: stringp nil,再按一次便出现图一对话框,但对话框里的赋值会乱掉

2、输入对应的内容后按确定,出现图二,那些赋值没有被赋上,如何实现图三的

以上问题点,请高手们指点,如何修改程序



726613 发表于 2013-4-4 14:38:43

请高手们来指导一下,如何如何修改程序,谢谢!!

ymcui 发表于 2013-6-26 11:12:05

顶起来                                       

200853006 发表于 2013-6-26 18:23:46

goldwheat 发表于 2013-8-1 18:13:30

帮你顶一下。
页: [1]
查看完整版本: 图框项目快速修改程序的问题