找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 520|回复: 3

[日积月累]:选择数字---日积月累

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-5-17 01:02:08 | 显示全部楼层 |阅读模式

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

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

×

  1. (defun c:ssss (/ ss s1 e elst txt p)
  2.   (if (setq ss (ssget '((0 . "text"))))
  3.     (progn
  4.       (setq ssl        (sslength ss)
  5.             s1        (ssadd)
  6.       )
  7.       (while (> ssl 0)
  8.         (setq e           (ssname ss (setq ssl (1- SSl)))
  9.               elst (entget e)
  10.               txt  (cdr (assoc 1 elst))
  11.         )
  12.         (if (and (not (vl-catch-all-error-p
  13.                         (setq p (vl-catch-all-apply 'read (list txt)))
  14.                       )
  15.                  )
  16.                  (numberp p)
  17.             )
  18.           (progn
  19.             (ssadd e s1)
  20.             (sssetfirst nil s1)
  21.           )
  22.         )
  23.       )
  24.     )
  25.   )
  26. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-5-17 11:58:52 | 显示全部楼层
简洁而漂亮的程序
请教斑主:
1、vl-catch-all-apply 比apply函数的改进在哪?看说明是能截获并处理错误,不需将错误发往*error*, 它如何处理错误呢?vl-catch-all-error-p如何运作?
2、程序使用了read读入串的第一段,假如该串中有空格分隔后面的数字,则程序只选择串的第一部分进行判断,如它是数字则选中,则会出现这样的个例:"300   500"被选中,该串似乎对一般程序没有什么用处。个人认为还是只用numberp判断就可以了
3、版主有“要在一个任意串中判断是否有数字”的程序吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2004-5-17 12:56:27 | 显示全部楼层
1 vl-catch-all-apply 不仅可以返回求值当出现错误的 时候不是退出,apply 在出现错误的时候会退出,vl-catch-all-error-p 捕获的是错误信息
2 read 不能判断 ".90" 这样的字串,带空格的可以先行分割然后判断
3 以前讨论并贴过这个函数,另外可以参考xd工具箱中的函数
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-17 14:46:54 | 显示全部楼层
走过路过,不要错过:)
[php]
;选择数字文本-----------------------陌生人.2004.5
;支持: 1e33; .3 ; 3 ;33.3 等格式.
;过滤"333 333"类格式.

(defun c:ttt (/ i e ss0 ss)
  (command ".select" "") ;;解决连续执行的bug.
  (if(setq i -1 ss0 (ssadd) ss (ssget '((0 . "TEXT"))))
     (repeat (1- (sslength ss))
       (setq e (ssname ss (setq i (1+ i))))
       (if (distof (cdr (assoc 1 (entget e))))
           (setq ss0 (ssadd e ss0))
       )
     )
  )(sssetfirst nil ss0)
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 03:42 , Processed in 0.173552 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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