乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 86|回复: 6

新编的一个数字替换小程序,请大家指教

[复制链接]

2

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
14
发表于 2003-6-7 21:44:00 | 显示全部楼层 |阅读模式
;经调试可用,欢迎大家指教。
;数字替换程序,可以对选中数字进行加、减、乘、除,然后用计算后的数字替换掉原来的数字,同时可以自动去除选择集中的非数字文字
(defun invar ()
  (setvar "cmdecho" 0)                        ;屏蔽命令行显示
  (setq os (getvar "osmode"))                ;提取物体捕捉变量
  (setvar "osmode" 0)                        ;设置物体捕捉变量为空
  (setq dimzin_v (getvar "dimzin"))     ;提取dimzin 变值
  (setvar "dimzin" 0)                   ;设置dimzin值为零,以防小数位数对rtos无效
  (command "undo" "g")                        ;设置“U”回的值
)
(defun revar ()
  (setvar "osmode" os)                        ;恢复物体捕捉设置
  (setvar "dimzin" dimzin_v)                         ;恢复dimzin的值
  (command "undo" "e")                        ;设置“U”的最点
  (setvar "cmdecho" 1)                        ;恢复命令行显示
)
(defun process_txt (txt_ss    kword        value_bp  weishu    begin_v
                    /              i                ii          n            txt_name
                    txt_data  o_txt_d        o_txt_c          o_txt_v   n_txt_v
                    n_txt_c   n_txt_d
                   )
  (setq        n  0
        ii 0
  )
  (repeat (sslength txt_ss)
    (setq txt_name (ssname txt_ss ii))
    (setq txtdata (entget txt_name))
    (setq o_txt_d (assoc 1 txtdata))
    (setq o_txt_c (cdr o_txt_d))
    (setq o_txt_v (distof o_txt_c))
    (if        (and
          (/= o_txt_v nil)
          (>= o_txt_v begin_v)
        )
      (progn
        (cond
          ((= kword "+") (setq n_txt_v (+ o_txt_v value_bp)))
          ((= kword "-") (setq n_txt_v (- o_txt_v value_bp)))
          ((= kword "*") (setq n_txt_v (* o_txt_v value_bp)))
          ((= kword "/") (setq n_txt_v (/ o_txt_v value_bp)))
        )                                ;End of cond
        (setq n_txt_c (rtos n_txt_v 2 weishu))
        (setq n_txt_d (cons 1 n_txt_c))
        (setq txtdata (subst n_txt_d o_txt_d txtdata))
        (entmod txtdata)
        (setq n (1+ n))
      )                                        ;end of progn
    )                                        ;end of if
    (setq ii (1+ ii))
  )                                        ;end of repeat
  (prin1 "成功对")
  (prin1 n)
  (prin1 "个数字进行了操作!")
)                                        ;end of subprogram
(defun c:shuzth        ()
  (invar)
  (prompt "\n请选取数字:")
  (terpri)
  (setq ss_txt (ssget '((0 . "text"))))        ;选取并过滤为文字
  (initget "+ - * /")
  (setq        p_kword
         (getkword "\n 请输入操作码: 加(+)、减(-)、乘(*)、除(/)")
  )
  (if (null p_kword)
    (setq P_kword "+")
  )
  (initget (+ 1 2))
  (setq bp_value (getreal "\n 请输入加、减、乘、除数:"))
  (setq wei_shu (getint "\n 请输入小数位数:"))
  (if (null wei_shu)
    (setq wei_shu 2)
  )
  (setq begin_v (getreal "\n 给定开始数:"))
  (process_txt ss_txt p_kword bp_value wei_shu begin_v)
  (prompt "\n山东省水利勘测设计院 杨克坤 2003.6.6编")
  (revar)
)                                        ;end of main program
[此贴子已经被作者于2003-6-7 21:33:44编辑过]
回复

使用道具 举报

2

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
14
发表于 2003-6-7 01:20:00 | 显示全部楼层
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:ymbniocmwpx.lsp 
下载次数:0  文件大小:2.17 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]

回复

使用道具 举报

2

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
14
发表于 2003-6-7 21:36:00 | 显示全部楼层
原程序有一个小BUG,修改并重新上传。
回复

使用道具 举报

2

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
14
发表于 2003-6-7 21:42:00 | 显示全部楼层
不知道为何传不上?帖子的编辑中没有附件重新上传的功能?
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:ef1ghqvza0p.lsp 
下载次数:0  文件大小:2.35 KB  售价:2银币 [记录]
下载权限: 不限 以上或 Vip会员   [开通Vip]   [签到领银币]  [免费赚银币]

回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2003-6-8 17:31:00 | 显示全部楼层
“给定开始数”,的意思是小于这个数的数值不做改动。
回复

使用道具 举报

2

主题

6

帖子

2

银币

初来乍到

Rank: 1

铜币
14
发表于 2003-6-12 02:06:00 | 显示全部楼层
怎么不行?为什么        
        错误: 参数类型错误: lselsetp nil
回复

使用道具 举报

2

主题

9

帖子

3

银币

初来乍到

Rank: 1

铜币
17
发表于 2004-4-29 20:08:00 | 显示全部楼层
楼上我们是同行啊~~搞水利的
你的程序我还是没怎么吃透,说白了还是不知道怎么使用哈
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-16 03:23 , Processed in 2.508464 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表