写简单的DCL
<P><FONT size=2>;;;小弟刚学,问题多多,烦请高教教,</FONT></P><P><FONT size=2>;;;以下LISP中的数,我想以对话框的形式输入:数A ,B, C,</FONT></P>
<P><FONT size=2>;;;高手能做一个给小弟试试,(觉得简单的话就帮小弟一下)</FONT></P>
<P><FONT size=2>(defun c:err ()<BR>(setq AA (getreal"\n数A"))<BR>(setq BB (getreal"\n数B"))<BR>(setq CC (getreal"\n数C"))<BR>(setq DD (+(* AA BB) CC ))<BR>(print (strcat "="(rtos DD 2 5)))<BR>)</FONT></P>
dcl_settings : default_dcl_settings { audit_level = 3; }
err : dialog {
label = "参数输入";
: edit_box { label="数A:"; key="mda";}
: edit_box { label="数B:"; key="mdb";}
: edit_box { label="数C:"; key="mdc";}
ok_cancel;
}
(defun c:err ()
(IF (> (SETQ DCL_ID (LOAD_DIALOG "err")) 0) (PROGN
(IF (NEW_DIALOG "err" DCL_ID) (PROGN
(action_tile "accept" "(RDATA) (DONE_DIALOG 1)")
(action_tile "cancel" "(DONE_DIALOG 0)")
(SETQ RE (START_DIALOG))
)
(ALERT "Unable to display dialog box!")
)
(UNLOAD_DIALOG DCL_ID)
)
(ALERT "Unable to load dialog box!")
)
(IF (= RE 1) (PROGN
(SETQ D (+ (* AA BB) CC))
(PRINC (STRCAT "=" (RTOS DD 2 5)))
))
(PRINC)
)
(DEFUN RDATA ()
(SETQ AA (GET_TILE "mda")
BB (GET_TILE "mdb")
CC (GET_TILE "mdc"))
)
不错,简单易学
页:
[1]