lincctw_ccl 发表于 2012-2-23 09:02:13

非常好用的程式!!!
為工作帶來很大方便

lidaxiu 发表于 2012-2-23 14:37:36

langjs 真是个好同志,有大侠风范

raimo 发表于 2012-2-23 14:49:31

本帖最后由 raimo 于 2012-2-23 14:50 编辑

langjs的作品都很不错,一定要支持!
以前也常麻烦 langjs 帮忙解决问题,表示感谢

lidaxiu 发表于 2012-2-23 14:50:25

老大,能不能改下支持末位是01 02 03格式的- - -

raimo 发表于 2012-2-23 16:09:50

本帖最后由 raimo 于 2012-2-23 16:16 编辑

试过了。。块内文字和多行单行都支持得很好!

从使用者的角度,还想提两点改进意见,请 langjs 考虑

1. 支持 01 02 03 ..格式,如果起始数字是两位数的情况,后面的数字也自动识别,10以内的自动添0,这样方便对齐美观

2. 支持框选,如果能够框选批量递增文字(可以根据从左到右,从上到下的顺序递增),那么遇上大批编号就可以省去很多下点击了。。

cj52000 发表于 2012-2-23 19:02:07

本帖最后由 cj52000 于 2012-2-23 19:02 编辑

langjs的作品一定要顶,私底下帮我解决了很多问题,表示感谢!

xieyanghui 发表于 2012-2-23 22:25:57

本帖最后由 xieyanghui 于 2012-2-23 22:26 编辑

raimo 发表于 2012-2-23 16:09 http://bbs.mjtd.com/static/image/common/back.gif
试过了。。块内文字和多行单行都支持得很好!

从使用者的角度,还想提两点改进意见,请 langjs 考虑
1. 支持 01 02 03 ..格式,如果起始数字是两位数的情况,后面的数字也自动识别,10以内的自动添0,这样方便对齐美观

2. 支持框选,如果能够框选批量递增文字(可以根据从左到右,从上到下的顺序递增),那么遇上大批编号就可以省去很多下点击了。。

非常支持你的想法,非常期待!!

langjs 发表于 2012-2-23 23:28:42

xieyanghui 发表于 2012-2-23 22:25 static/image/common/back.gif
1. 支持 01 02 03 ..格式,如果起始数字是两位数的情况,后面的数字也自动识别,10以内的自动添0,这样方便 ...

这个小程序是我为单位电气设计员修改线号量身制作的程序,其它领域没多想。大家的想法我看到了,但是逻辑上存在一些问题,比如起始文字为“SB01”,刷到“SB09”,下一步按道理应该是“SB10”了,程序会认为是“SB010”,即使强制刷成“SB010”,那接着往下刷,刷到“SB99”下一步怎么办?总之,期间涉及到的进位、换算、替换等太复杂了。

raimo 发表于 2012-2-24 07:54:05

本帖最后由 raimo 于 2012-2-24 07:54 编辑

langjs 发表于 2012-2-23 23:28 static/image/common/back.gif
这个小程序是我为单位电气设计员修改线号量身制作的程序,其它领域没多想。大家的想法我看到了,但是逻辑 ...
相信你肯定可以做到的,数位问题不太难

下面这个是我在netbee 的复制递增程序中自己添加的补位判断语句,
我也是新手可能写得不好,供你参考。

;;;1.01 修改 by netbee 2007.06.18
(defun c:c1 (/ origent origentdata origtext numtext prefixlen prefix num
         cmd addn pt1 pt2 newdata txt
      )
(setq copyincolderrorfunc *error*)
(setq *error* copyincerrorfunc)
(command "_.undo" "_Group")
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(while (= origent nil)
    (setq origent (entsel "\n选择文本: "))
)
(setq txt (car origent))
(setq origentdata (cdr (entget (car origent))))
(if (/= (cdr (assoc 0 origentdata)) "TEXT")
    (princ "未选择文本.")
    (progn
      (setq origtext (cdr (assoc 1 origentdata)))
      (setq numtext (getsuffixdigits origtext))
      (if (= numtext "")
    (princ "此文本不是以数字结尾")
    (progn
      (setq prefixlen (- (strlen origtext) (strlen numtext)))
      (if (= prefixlen 0)
      (setq prefix "")
      (setq prefix (substr origtext 1 prefixlen))
      )
      (setq num (atoi numtext))
      (setq addn (getint "\n请输入递增<1>: "))
      (if (= addn nil)
      (setq addn 1)
      )
      (setq pt1 (getpoint "\n请选择基点:"))
      (setq pt2 0)
      (while (progn
         (initget 128)
         (setq pt2 (getpoint pt1 "\n请选择下一点: "))
         )
      (if (/= pt2 nil)
          (progn
      (setq num (+ num addn))

      ;(setq num (itoa num))

      ;增加数字判断0~9之间的数字自动加0补位
         (if (and
                   (< num 10)
                   (>= num 0)
            )
         (setq num (itoa num)
               num (strcat "0" num))
         (setq num (itoa num))
         )

      (setq newdata (strcat prefix num))
      (command "copy" txt "" pt1 pt2)
      (command "change" (entlast) "" "" "" "" "" "" newdata)
      (setq num (atoi num))
          )
      )
      )
    )
      )
    )
)
(setq *error* copyincolderrorfunc)
(princ)
(setvar "cmdecho" cmd)
(command "_.undo" "_end")
)

(defun getsuffixdigits (origstr / digits prefixlen char)
(setq digits "")
(setq prefixlen (strlen origstr))
(while (> prefixlen 0)
    (setq char (substr origstr prefixlen 1))
    (if (wcmatch char "#")
      (progn
    (setq digits (strcat char digits))
    (setq prefixlen (1- prefixlen))
      )
      (setq prefixlen 0)
    )
)
(setq digits digits)
)
(setq copyincolderrorfunc nil)
(defun copyincerrorfunc (msg)
(if (= msg "function cancelled")
    (princ " ")
    (if (= msg "quit / exit abort")
      (princ " ")
      (princ (strcat "\nerror: " msg))
    )
)
(setq *error* copyincolderrorfunc)
(princ)
)

langjs 发表于 2012-2-24 08:33:10

框选没办法框选选择到合适的块内的文字,属性块内的文字……
页: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15
查看完整版本: 文本递增刷源码,我刷我刷我刷刷刷!(更新支持属性块)