找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1168|回复: 2

[LISP程序]:我的小小东西,怎样对一堆数同时+-*/

[复制链接]
发表于 2003-5-11 23:28:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
感谢CY956
LISP:四则.lsp
  1. <normalfont>
  2. (defun C:四则 ()
  3.   (PRINT "请选择您要操作的数字")
  4.   (SETQ S (SSGET))
  5.   (setq id (load_dialog "四则.dcl"))
  6.   (if (< id 0)
  7.     (exit)
  8.   )
  9.   (if (not (new_dialog "daxigua" id))
  10.     (exit)
  11.   )
  12.   (setq yuyu 0.)
  13.   (setq tyty 0)
  14.   (setq tyty0 3)                        ;先赋一个初值给——按钮;
  15.   (action_tile "jia" "(setq tyty 0)")
  16.   (action_tile "jian" "(setq tyty 1)")
  17.   (action_tile "cheng" "(setq tyty 2)")
  18.   (action_tile "chu" "(setq tyty 3)")
  19.   (action_tile "x0" "(setq tyty0 0)")
  20.   (action_tile "x1" "(setq tyty0 1)")
  21.   (action_tile "x2" "(setq tyty0 2)")
  22.   (action_tile "x3" "(setq tyty0 3)")
  23.   (action_tile "x4" "(setq tyty0 4)")
  24.   (action_tile "shuzhi" "(setq yuyu(atof $value))")
  25.   (action_tile "accept" "(done_dialog 1)")
  26.   (action_tile "cancel" "(done_dialog -1)")
  27.   (setq sdt (start_dialog))
  28.   (unload_dialog id)
  29.   (if (> sdt 0)
  30.     (progn
  31.       (setq n (sslength s))
  32.       (setq kk 0)
  33.       (while (< kk n)
  34.         (setq name (ssname s kk))
  35.         (setq a (entget name))
  36.         (setq b (assoc '0 a))
  37.         (setq c (cdr b))
  38.         (if (= c "TEXT")

  39.           (progn
  40.             (setq v0 (atof (cdr (assoc '1 a))))
  41.             (setq olddimzin (getvar "dimzin"))
  42.             (setvar "dimzin" 0)

  43.             (cond ((= 0 tyty) (setq v1 (+ v0 yuyu)))
  44.                   ((= 1 tyty) (setq v1 (- v0 yuyu)))
  45.                   ((= 2 tyty) (setq v1 (* v0 yuyu)))
  46.                   ((= 3 tyty) (setq v1 (/ v0 yuyu)))
  47.             )

  48.             (setq v (rtos v1 2 tyty0))        ;转换数字----字符,取多少位小数点。。

  49.             (setq a (subst (cons 1 v) (assoc '1 a) a))
  50.             (entmod a)
  51.             ;;实体更新.如果不加这一行只是屏幕更新
  52.             (entupd name)
  53.             (setvar "dimzin" olddimzin)
  54.             ;;屏幕更新
  55.           )

  56.         )

  57.         (setq kk (1+ kk))
  58.       )
  59.     )
  60.   )
  61.   (princ)
  62.   (princ)
  63. )

  64. dcl:四则.dcl
  65. daxigua:dialog{
  66.         label="运行四则运算";//对话框标签
  67.         initial_focus="jia";//初始的焦点.
  68.         :radio_row{label="选择";
  69.                    :radio_button{label="+";key="jia";value=1;}
  70.                    :radio_button{label="-";key="jian";}
  71.                    :radio_button{label="*";key="cheng";}
  72.                    :radio_button{label="/";key="chu";}
  73.                    }
  74.         :edit_box{label="数值";
  75.                   key="shuzhi";
  76.                   }
  77.         :radio_row{label="结果保留几位小数,默认取3位";
  78.                    :radio_button{label="0";key="x0";}
  79.                    :radio_button{label="1";key="x1";}
  80.                    :radio_button{label="2";key="x2";}
  81.                    :radio_button{label="3";key="x3";value=1;}
  82.                    :radio_button{label="4";key="x4";}
  83.                    }          
  84.                   ok_cancel;
  85.                   }
  86. </normalfont>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-5-12 20:56:30 | 显示全部楼层
我还是觉得我的好用,又很简单!有兴趣的去看看吧:http://www.xdcad.net/forum/showthread.php?s=&threadid=52410
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-5-13 00:06:17 | 显示全部楼层
把改属性也加进去就更好了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 08:18 , Processed in 0.156795 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表