明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5200|回复: 15

求修改某段连续编号的LISP代码

[复制链接]
发表于 2014-1-8 16:45:02 | 显示全部楼层 |阅读模式
10明经币
来源:1楼 修改连续编号的程序-AutoLISP/Visual LISP 编程技术-CAD论坛-明经CAD社区 - Powered by Discuz!
http://bbs.mjtd.com/thread-91633-1-1.html

上面网址是修改连续编号的。但它一是没有公开源码,二则它是设编号大于某值N时就全部修改,没有封顶。
我请求高手帮编一个类似的,一是公开源码,二是设立封顶的编号M,即当值大于M时,就不改了。也就是说,值大于M小于N均不作修改,只是修改大于等N,小于等于M的值。
修改的范围由用户选定(SSGET)。
希望是有无前、后缀均能做到的。
比如有如下文本:ZK1B        ZK2B        ZK3B        ZK4B        ZK5B        ZK6B        ZK7B        ZK8B        ZK9B        ZK10B        ZK11B        ZK12B        ZK13B        ZK14B        ZK15B        ZK16B        ZK17B        ZK18B        ZK19B        ZK20B        ZK21B        ZK22B        ZK23B        ZK24B        ZK25B        ZK26B        ZK27B        ZK28B        ZK29B        ZK30B        ZK31B        ZK32B        ZK33B        ZK34B        ZK35B        ZK36B
我要将ZK12B到ZK23B的这一段改为TV56C        TV57C        TV58C        TV59C        TV60C        TV61C        TV62C        TV63C        TV64C        TV65C        TV66C        TV67C
上面的改法时,前缀由ZK改为TV,后缀由B改为C,序号由12加上44改为56,13、14等类推。
当然上面举例是有前后缀的,我希望仅有前缀、仅有后缀或纯数值的也能成立

最佳答案

查看完整内容

以楼主的说明为前提达到功能为目的,写的啰嗦,将就一下吧!
发表于 2014-1-8 16:45:03 | 显示全部楼层
本帖最后由 Atsai 于 2014-1-9 00:25 编辑

以楼主的说明为前提达到功能为目的,写的啰嗦,将就一下吧!
  1. (defun c:bhxg (/ ts bs ns es cs ss)
  2.   (vl-load-com)
  3.   (setq os (getvar "osmode"))
  4.   (setvar "osmode" 0)
  5.   (setvar "cmdecho" 0)
  6.   (setq ts (getstring "\n请输入前缀:"))
  7.   (setq bs (getstring "\n请输入后缀:"))
  8.   (setq ns (getreal "\n请输入最小编号:"))
  9.   (setq es (getreal "\n请输入最大编号:"))
  10.   (setq cs (getreal "\n更改后最小编号:"))
  11.   (setq ss nil)
  12.   (setq ss (ssget '((0 . "*text"))))
  13.   (setq l (sslength ss))
  14.   (setq i 0)
  15.   (setq strlst '())
  16.   (repeat l
  17.     (setq ssn (ssname ss i))
  18.     (setq ssdata (entget ssn))
  19.     (setq str (cdr (assoc 1 ssdata)))
  20.     (setq Num_s-e nil)
  21.     (setq Num_s-e (GetNum str))
  22.     (setq strlst (append strlst
  23.                          (list (list ssn
  24.                                      (nth 0 Num_s-e)
  25.                                      (nth 1 Num_s-e)
  26.                                      (nth 2 Num_s-e)
  27.                                )
  28.                          )
  29.                  )
  30.     )
  31.     (setq i (1+ i))
  32.   )

  33.   ;;排序
  34.   (setq        strlst (vl-sort        strlst
  35.                         '(lambda (e1 e2)
  36.                            (< (nth 3 e1)
  37.                               (nth 3 e2)
  38.                            )
  39.                          )
  40.                )
  41.   )

  42.   ;;搜寻欲更改之数量
  43.   (setq i 0)
  44.   (setq j 0)
  45.   (setq k 0)
  46.   (repeat l
  47.     (if        (and (<= ns (nth 3 (nth i strlst)))
  48.              (<= (nth 3 (nth i strlst)) es)
  49.         )
  50.       (progn
  51.         (setq j i)
  52.         (setq k (1+ k))
  53.       )
  54.     )
  55.     (setq i (1+ i))
  56.   )
  57.   (setq j (+ (- j k) 1))

  58.   ;;修改文本内容
  59.   (setq i j)
  60.   (setq j 0)
  61.   (repeat k
  62.     (setq ssdata (entget (nth 0 (nth i strlst))))
  63.     (setq string (cdr (assoc 1 ssdata)))
  64.     (setq string_num (rtos (+ cs j) 2 0))
  65.     (setq string_new (strcat ts string_num bs))
  66.     (setq ssdata (subst (cons 1 string_new) (cons 1 string) ssdata))
  67.     (entmod ssdata)
  68.     (setq i (1+ i))
  69.     (setq j (1+ j))
  70.   )
  71.   (setvar "osmode" os)
  72.   (princ)
  73. )

  74. (defun GetNum (str / i j k l tmp)
  75.   (setq l (strlen str))
  76.   (setq tmp (vl-string->list str))
  77.   (setq i 0)
  78.   (setq k 0)
  79.   (repeat l
  80.     (if        (and (<= 48 (nth i tmp)) (<= (nth i tmp) 57))
  81.       (progn
  82.         (setq j (1+ i))
  83.         (setq k (1+ k))
  84.       )
  85.     )
  86.     (setq i (1+ i))
  87.   )
  88.   (setq j (+ (- j k) 1))
  89.   (setq lst (list j k (atoi (substr str j k))))
  90. )
回复

使用道具 举报

 楼主| 发表于 2014-1-9 08:06:19 | 显示全部楼层
Atsai 发表于 2014-1-9 00:18
以楼主的说明为前提达到功能为目的,写的啰嗦,将就一下吧!

我试了,如果不改前后缀的话,是成功的。如果楼主能增加改前后缀的部分就完全符合要求。
回复

使用道具 举报

发表于 2014-1-9 08:14:54 | 显示全部楼层
楼主, 前、后缀可以不输入哦!
回复

使用道具 举报

 楼主| 发表于 2014-1-9 08:23:25 | 显示全部楼层
本帖最后由 清风明月名字 于 2014-1-9 08:24 编辑
Atsai 发表于 2014-1-9 00:18
以楼主的说明为前提达到功能为目的,写的啰嗦,将就一下吧!

在你的基础上我增加了改变前后缀的部分,向你致谢!
(defun c:qq (/ ts bs ns es cs ss)
;;;来源:2楼 求修改某段连续编号的LISP代码-编程申请-CAD论坛-明经CAD社区-编程技术,程序,用户 - Powered by Discuz!
;;;http://bbs.mjtd.com/forum.php?mo ... mp;page=1#pid624377

  (vl-load-com)
  (setq os (getvar "osmode"))
  (setvar "osmode" 0)
  (setvar "cmdecho" 0)
  (setq ts (getstring "\n请输入前缀:"))
  (setq bs (getstring "\n请输入后缀:"))

  (IF (NOT (setq 新前缀 (getstring "\n请输入新的前缀:")))
          (setq 新前缀 ts)
  )
  (IF (NOT (setq 新后缀 (getstring "\n请输入新的后缀:")))
          (setq 新后缀 ts)
  )
  (setq ns (getreal "\n请输入最小编号:"))
  (setq es (getreal "\n请输入最大编号:"))
  (setq cs (getreal "\n更改后最小编号:"))
  (setq ss nil)
  (setq ss (ssget '((0 . "*text"))))
  (setq l (sslength ss))
  (setq i 0)
  (setq strlst '())
  (repeat l
    (setq ssn (ssname ss i))
    (setq ssdata (entget ssn))
    (setq str (cdr (assoc 1 ssdata)))
    (setq Num_s-e nil)
    (setq Num_s-e (GetNum str))
    (setq strlst (append strlst
                         (list (list ssn
                                     (nth 0 Num_s-e)
                                     (nth 1 Num_s-e)
                                     (nth 2 Num_s-e)
                               )
                         )
                 )
    )
    (setq i (1+ i))
  )

  ;;排序
  (setq        strlst (vl-sort        strlst
                        '(lambda (e1 e2)
                           (< (nth 3 e1)
                              (nth 3 e2)
                           )
                         )
               )
  )

  ;;搜寻欲更改之数量
  (setq i 0)
  (setq j 0)
  (setq k 0)
  (repeat l
    (if        (and (<= ns (nth 3 (nth i strlst)))
             (<= (nth 3 (nth i strlst)) es)
        )
      (progn
        (setq j i)
        (setq k (1+ k))
      )
    )
    (setq i (1+ i))
  )
  (setq j (+ (- j k) 1))

  ;;修改文本内容
  (setq i j)
  (setq j 0)
  (repeat k
    (setq ssdata (entget (nth 0 (nth i strlst))))
    (setq string (cdr (assoc 1 ssdata)))
    (setq string_num (rtos (+ cs j) 2 0))
    (setq string_new (strcat 新前缀 string_num 新后缀))
    (setq ssdata (subst (cons 1 string_new) (cons 1 string) ssdata))
    (entmod ssdata)
    (setq i (1+ i))
    (setq j (1+ j))
  )
  (setvar "osmode" os)
  (princ)
)

(defun GetNum (str / i j k l tmp)
  (setq l (strlen str))
  (setq tmp (vl-string->list str))
  (setq i 0)
  (setq k 0)
  (repeat l
    (if        (and (<= 48 (nth i tmp)) (<= (nth i tmp) 57))
      (progn
        (setq j (1+ i))
        (setq k (1+ k))
      )
    )
    (setq i (1+ i))
  )
  (setq j (+ (- j k) 1))
  (setq lst (list j k (atoi (substr str j k))))
)
回复

使用道具 举报

发表于 2014-1-9 08:32:34 | 显示全部楼层
贪财贪财,收下了。
回复

使用道具 举报

发表于 2014-1-9 09:47:01 | 显示全部楼层
本帖最后由 Atsai 于 2014-1-9 10:10 编辑

楼主,其实二楼的LISP里的
输入前缀、后缀的意思是,输入新的前、后缀,若不要输入,则删除前、后缀。

可能楼主误会了所以增加了新的前、后缀的输入。
目前的方式是直接由编号去筛选出要修改的文字,
楼主要的是否为:
条件一:由前后缀去选出文字
条件二:由条件一的选集中再依编号区间去修改
如果是这样的话,可能还要加判断。

点评

对啊,你说的正是我的意思  发表于 2014-1-9 18:51
回复

使用道具 举报

发表于 2014-1-9 12:16:00 | 显示全部楼层
下面的代码是依照输入的前缀、及后缀选择后再依编号区间去修改编号。
楼主测试看看会不会更贴近您的需求。
  1. (defun c:bhxg (/ cts cbs ts bs ns es cts cs ss)
  2.   (vl-load-com)
  3.   (setq os (getvar "osmode"))
  4.   (setvar "osmode" 0)
  5.   (setvar "cmdecho" 0)
  6.   (setq        cts nil
  7.         cbs nil
  8.         ts  nil
  9.         bs  nil
  10.         ns  nil
  11.         es  nil
  12.         cs  nil
  13.   )
  14.   (setq cts (getstring "\n请输入搜寻前缀:"))
  15.   (setq cbs (getstring "\n请输入搜寻后缀:"))
  16.   (setq ts (getstring "\n请输入新前缀:"))
  17.   (setq bs (getstring "\n请输入新后缀:"))
  18.   (setq ns (getreal "\n请输入最小编号:"))
  19.   (setq es (getreal "\n请输入最大编号:"))
  20.   (setq cs (getreal "\n更改后最小编号:"))
  21.   (setq ss nil)
  22.   (cond
  23.     ((and (= cts "") (= cbs ""))
  24.      (setq ss (ssget '((0 . "*text") (1 . "~*[~0-9]*"))))
  25.     )
  26.     ((and (/= cts "") (= cbs ""))
  27.      (setq
  28.        ss (ssget
  29.             (list '(0 . "*text") (cons 1 (strcat cts "[0-9]*")))
  30.           )
  31.      )
  32.     )
  33.     ((and (= cts "") (/= cbs ""))
  34.      (setq
  35.        ss (ssget
  36.             (list '(0 . "*text") (cons 1 (strcat "*[0-9]" cbs)))
  37.           )
  38.      )
  39.     )
  40.     ((and (/= cts "") (/= cbs ""))
  41.      (setq
  42.        ss
  43.         (ssget
  44.           (list        '(-4 . "<AND")
  45.                 '(0 . "*text")
  46.                 (cons 1 (strcat cts "[0-9]*"))
  47.                 (cons 1 (strcat "*[0-9]" cbs))
  48.                 '(-4 . "AND>")
  49.           )
  50.         )
  51.      )
  52.     )
  53.   )

  54.   (setq l (sslength ss))
  55.   (setq i 0)
  56.   (setq strlst '())
  57.   (repeat l
  58.     (setq ssn (ssname ss i))
  59.     (setq ssdata (entget ssn))
  60.     (setq str (cdr (assoc 1 ssdata)))
  61.     (setq Num_s-e nil)
  62.     (setq Num_s-e (GetNum str))
  63.     (setq strlst (append strlst
  64.                          (list (list ssn
  65.                                      (nth 0 Num_s-e)
  66.                                      (nth 1 Num_s-e)
  67.                                      (nth 2 Num_s-e)
  68.                                )
  69.                          )
  70.                  )
  71.     )
  72.     (setq i (1+ i))
  73.   )

  74.   ;;排序
  75.   (setq        strlst (vl-sort        strlst
  76.                         '(lambda (e1 e2)
  77.                            (< (nth 3 e1)
  78.                               (nth 3 e2)
  79.                            )
  80.                          )
  81.                )
  82.   )

  83.   ;;搜寻欲更改之数量
  84.   (setq i 0)
  85.   (setq j 0)
  86.   (setq k 0)
  87.   (repeat l
  88.     (if        (and (<= ns (nth 3 (nth i strlst)))
  89.              (<= (nth 3 (nth i strlst)) es)
  90.         )
  91.       (progn
  92.         (setq j i)
  93.         (setq k (1+ k))
  94.       )
  95.     )
  96.     (setq i (1+ i))
  97.   )
  98.   (setq j (+ (- j k) 1))

  99.   ;;修改文本内容
  100.   (setq i j)
  101.   (setq j 0)
  102.   (repeat k
  103.     (setq ssdata (entget (nth 0 (nth i strlst))))
  104.     (setq string (cdr (assoc 1 ssdata)))
  105.     (setq string_num (rtos (+ cs j) 2 0))
  106.     (setq string_new (strcat ts string_num bs))
  107.     (setq ssdata (subst (cons 1 string_new) (cons 1 string) ssdata))
  108.     (entmod ssdata)
  109.     (setq i (1+ i))
  110.     (setq j (1+ j))
  111.   )
  112.   (setvar "osmode" os)
  113.   (princ)
  114. )

  115. (defun GetNum (str / i j k l tmp)
  116.   (setq l (strlen str))
  117.   (setq tmp (vl-string->list str))
  118.   (setq i 0)
  119.   (setq k 0)
  120.   (repeat l
  121.     (if        (and (<= 48 (nth i tmp)) (<= (nth i tmp) 57))
  122.       (progn
  123.         (setq j (1+ i))
  124.         (setq k (1+ k))
  125.       )
  126.     )
  127.     (setq i (1+ i))
  128.   )
  129.   (setq j (+ (- j k) 1))
  130.   (setq lst (list j k (atoi (substr str j k))))
  131. )

点评

看了7楼我明白了,8楼才是我真正要的代码  发表于 2014-1-9 18:52
我不是改好了,在5楼吗,和那个有什么不同?  发表于 2014-1-9 18:49
我不是改好了,在3楼吗,和那个有什么不同?  发表于 2014-1-9 18:48
回复

使用道具 举报

 楼主| 发表于 2014-1-9 19:10:32 | 显示全部楼层
Atsai 发表于 2014-1-9 12:16
下面的代码是依照输入的前缀、及后缀选择后再依编号区间去修改编号。
楼主测试看看会不会更贴近您的需求。

还要请作者将它改为不分大小写的为好。还有一个要求,不知道是否能满足我,就是我可以限定编号为固定位数,即我可以定它为固定三位,006、007....。我也可以定它为固定4位,0006、0007.....。
请你帮我改造一下,好吗、
回复

使用道具 举报

发表于 2014-1-9 23:11:41 | 显示全部楼层
清风明月名字 发表于 2014-1-9 19:10
还要请作者将它改为不分大小写的为好。还有一个要求,不知道是否能满足我,就是我可以限定编号为固定位数 ...

依照楼主的需求改写了,下面的代码测试看看吧!
  1. ;;;若同时不搜寻前缀及后缀则搜寻纯数字!

  2. (defun c:bhxg (/ cts cbs ts bs ns es cts cs dm ss)
  3.   (vl-load-com)
  4.   (setq os (getvar "osmode"))
  5.   (setvar "osmode" 0)
  6.   (setvar "cmdecho" 0)
  7.   (setq        cts nil
  8.         cbs nil
  9.         ts  nil
  10.         bs  nil
  11.         ns  nil
  12.         es  nil
  13.         cs  nil
  14.         dm  nil
  15.   )
  16.   (setq cts (getstring "\n请输入搜寻前缀<空白代表此条件不搜寻>:"))
  17.   (setq cbs (getstring "\n请输入搜寻后缀<空白代表此条件不搜寻>:"))
  18.   (setq ts (strcase (getstring "\n请输入新前缀:")))
  19.   (setq bs (strcase (getstring "\n请输入新后缀:")))
  20.   (setq ns (getreal "\n请输入搜寻最小编号:"))
  21.   (setq es (getreal "\n请输入搜寻最大编号:"))
  22.   (setq cs (getstring "\n更改后最小编号<1>:"))
  23.   (if (= cs "")
  24.     (setq cs "1")
  25.   )
  26.   (setq        dm (getreal
  27.              (strcat "\n编号位数,预设<" (rtos (strlen cs) 2 0) ">:")
  28.            )
  29.   )
  30.   (if (= dm nil)
  31.     (setq dm (strlen cs))
  32.   )
  33.   (setq cs (atoi cs))

  34.   (setq ss nil)
  35.   (if (and (= cts "") (= cbs ""))
  36.     (setq ss (ssget '((0 . "*text") (1 . "~*[~0-9]*"))))
  37.     (setq ss (ssget '((0 . "*text"))))
  38.   )

  39.   (if (/= ss nil)
  40.     (progn
  41.       (setq l (sslength ss))
  42.       (setq i 0)
  43.       (setq strlst '())
  44.       (repeat l
  45.         (setq ssn (ssname ss i))
  46.         (setq ssdata (entget ssn))
  47.         (setq str (cdr (assoc 1 ssdata)))
  48.         (setq Num_s-e nil)
  49.         (setq Num_s-e (GetNum str))
  50.         (setq str_s (substr str
  51.                             1
  52.                             (- (strlen str) (+ (- (strlen str) (nth 0 Num_s-e)) 1))
  53.                     )
  54.         )
  55.         (setq str_e (substr str
  56.                             (+ (nth 0 Num_s-e) (nth 1 Num_s-e))
  57.                             (- (strlen str) (- (+ (nth 0 Num_s-e) (nth 1 Num_s-e)) 1))
  58.                     )
  59.         )

  60.         (cond ((and (/= cts "") (/= cbs ""))
  61.                (if (and        (= (strcase str_s) (strcase cts))
  62.                         (= (strcase str_e) (strcase cbs))
  63.                    )
  64.                  (setq strlst (append strlst
  65.                                       (list (list ssn
  66.                                                   (strlen str)
  67.                                                   (nth 0 Num_s-e)
  68.                                                   (nth 1 Num_s-e)
  69.                                                   (nth 2 Num_s-e)
  70.                                             )
  71.                                       )
  72.                               )
  73.                  )
  74.                )
  75.               )
  76.               ((and (/= cts "") (= cbs ""))
  77.                (if (= (strcase str_s) (strcase cts))
  78.                  (setq strlst (append strlst
  79.                                       (list (list ssn
  80.                                                   (strlen str)
  81.                                                   (nth 0 Num_s-e)
  82.                                                   (nth 1 Num_s-e)
  83.                                                   (nth 2 Num_s-e)
  84.                                             )
  85.                                       )
  86.                               )
  87.                  )
  88.                )
  89.               )
  90.               ((and (= cts "") (/= cbs ""))
  91.                (if (= (strcase str_e) (strcase cbs))
  92.                  (setq strlst (append strlst
  93.                                       (list (list ssn
  94.                                                   (strlen str)
  95.                                                   (nth 0 Num_s-e)
  96.                                                   (nth 1 Num_s-e)
  97.                                                   (nth 2 Num_s-e)
  98.                                             )
  99.                                       )
  100.                               )
  101.                  )
  102.                )
  103.               )
  104.               (t
  105.                (setq strlst (append strlst
  106.                                     (list (list        ssn
  107.                                                 (strlen str)
  108.                                                 (nth 0 Num_s-e)
  109.                                                 (nth 1 Num_s-e)
  110.                                                 (nth 2 Num_s-e)
  111.                                           )
  112.                                     )
  113.                             )
  114.                )
  115.               )
  116.         )
  117.         (setq i (1+ i))
  118.       )

  119.       (if (/= strlst nil)
  120.         (progn
  121.           ;;排序
  122.           (setq        strlst (vl-sort        strlst
  123.                                 '(lambda (e1 e2)
  124.                                    (< (nth 4 e1)
  125.                                       (nth 4 e2)
  126.                                    )
  127.                                  )
  128.                        )
  129.           )

  130.           ;;搜寻欲更改之数量
  131.           (setq i 0)
  132.           (setq j 0)
  133.           (setq k 0)
  134.           (setq l (length strlst))
  135.           (repeat l
  136.             (if        (and (<= ns (nth 4 (nth i strlst)))
  137.                      (<= (nth 4 (nth i strlst)) es)
  138.                 )
  139.               (progn
  140.                 (setq j i)
  141.                 (setq k (1+ k))
  142.               )
  143.             )
  144.             (setq i (1+ i))
  145.           )
  146.           (setq j (+ (- j k) 1))

  147.           ;;修改文本内容
  148.           (setq i j)
  149.           (setq j 0)
  150.           (repeat k
  151.             (setq ssdata (entget (nth 0 (nth i strlst))))
  152.             (setq string (cdr (assoc 1 ssdata)))
  153.             (setq string_num (rtos (+ cs j) 2 0))
  154.             (setq string_num (PutNum string_num dm))
  155.             (setq string_new (strcat ts string_num bs))
  156.             (setq ssdata (subst (cons 1 string_new) (cons 1 string) ssdata))
  157.             (entmod ssdata)
  158.             (setq i (1+ i))
  159.             (setq j (1+ j))
  160.           )
  161.         )
  162.         (princ "\n=====无符合条件编号!!!======")
  163.       )
  164.     )
  165.     (princ "\n=====无符合条件编号!!!======")
  166.   )
  167.   (setvar "osmode" os)
  168.   (princ)
  169. )

  170. (defun GetNum (str / i j k l tmp)
  171.   (setq l (strlen str))
  172.   (setq tmp (vl-string->list str))
  173.   (setq i 0)
  174.   (setq k 0)
  175.   (repeat l
  176.     (if        (and (<= 48 (nth i tmp)) (<= (nth i tmp) 57))
  177.       (progn
  178.         (setq j (1+ i))
  179.         (setq k (1+ k))
  180.       )
  181.     )
  182.     (setq i (1+ i))
  183.   )
  184.   (setq j (+ (- j k) 1))
  185.   (setq lst (list j k (atoi (substr str j k))))
  186. )

  187. (defun PutNum (k a / tmp)
  188.   (setq tmp (strlen k))
  189.   (cond        ((= (- a tmp) 0)
  190.          (setq k k)
  191.         )
  192.         ((= (- a tmp) 1)
  193.          (setq k (strcat "0" k))
  194.         )
  195.         ((= (- a tmp) 2)
  196.          (setq k (strcat "00" k))
  197.         )
  198.         ((= (- a tmp) 3)
  199.          (setq k (strcat "000" k))
  200.         )
  201.         ((= (- a tmp) 4)
  202.          (setq k (strcat "0000" k))
  203.         )
  204.         ((= (- a tmp) 5)
  205.          (setq k (strcat "00000" k))
  206.         )
  207.   )
  208. )

评分

参与人数 1明经币 +1 金钱 +5 收起 理由
清风明月名字 + 1 + 5 赞一个!能够坚持满足对方的需求。

查看全部评分

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 07:21 , Processed in 0.221982 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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