请大家把这个程序完成
设(setq a '(1 2 3 4 5))DCL第一行为单选框+和-
第二行为编辑框,目的是让当切换+和-的时候分别把表A中的数据进行加减,并把结果显示在编辑框内,且切换加减的时候显示结果要跟随变化 这样只能变化一次,加或减一次后,编辑框内的内容是上次的结果,这个结果就无法再加或减了。
设(setq a '(1 2 3 4 5)) 干什么用?
编辑框内的数字写成什么格式? 我的意思是如果选+ 相当于(apply '+ a)求出结果显示在编辑框内,现在我又选-
结果就编程(apply '- a)编辑框内的值也随之变化为表中内容的减法运算,也就是说可以在对话框内随着选择的不同结果也跟着变化,不知道能不能实现 (defun LoadDlg( / path fname f dcl_id)<BR> (setq path (getenv "temp"))<BR> (setq fname (strcat path "\\" "wl-definde-dcl-file.dcl"))<BR> (setq f (open fname "w"))<BR> (write-line "add:dialog{label = \"对话框\"; :row{ :button {label = \"+\"; key = \"add\";}" f)<BR> (write-line " :button {label = \"-\"; key = \"sub\";}}" f)<BR> (write-line " :edit_box{label = \"结果为:\"; key = \"edit1\";} ok_cancel;}" f)<BR> (close f)<BR> (setq dcl_id (load_dialog fname))<BR> (vl-file-delete fname)<BR> dcl_id<BR>)
(defun c:test( / a dcl_id)<BR> (setq a '(1 2 3 4 5))<BR> (setq dcl_id (loaddlg))<BR> (new_dialog "add" dcl_id)<BR> (action_tile "add" "(set_tile \"edit1\" (rtos (apply '+ a)))")<BR> (action_tile "sub" "(set_tile \"edit1\" (rtos (apply '- a)))")<BR> (start_dialog)<BR> (unload_dialog dcl_id)<BR> (princ)<BR>) 送个鲜花以示感谢:)
页:
[1]