Author Topic: [XDrX-PlugIn(111)]Batch increment prefix and suffix numbers +1 for each click  (Read 280 times)

0 Members and 1 Guest are viewing this topic.

xdcad

  • Bull Frog
  • Posts: 493
Batch increment prefix and suffix numbers +1 for each click


Code: [Select]
(defun c:XDTB_TxtAddPSuffix ( / e Message Title txt)
  (setq xd-text-prefix-odcl-data '("YWt6A7YgAABCeUbGBuKTJiMVIjtmADAy7RfFuNgkU/zkpPS/mMo3LaUqOtp03BMyM3RU9K4SSAuT"
   "GF1kk5wzUMIWP7pFUYK8ZZGCekG+ZT9vahHCL26Cf/woETq78biJ44NGTbFQGYhKFcg2CEdhsefn"
   "CZiywrGNwBnI0uIhP5OWQS1mR4ekfdExMTBxYrkMep6VAB7tIssGqUaIn25wph1iDfZP/22M4e7F"
   "g/yNjCrhY7rCqvJ787SLfriaQvR8GJtBUcsSCVUUDzKO4tPhaXWkJNPVK8smk1nolT+lDRKl8TQX"
   "IBKY25vmywR8Ze+tr/Svax5FMvpgqgCzkRvAvqgEF9Pk5zhR4uEnOCrBgT/y5CmuKf3v8KCCnZ8V"
   "jcZ7a0VdNUzc9OIdQvBZmgBgO7/PIml7UR5Z2C64Y0yYzMI/f1vm2UMlqRrJK2yC2url07fW8Zcl"
   "AjHdQJOflc2ICsliO9cr6q/pmoLyiIcvrNnjx3F2ATaGA7wBBx3ERJXm2A562DyRp2mHhpEaC8sN"
   "DXiDc4muq6PnlFDhHP2tZrjui1HDqOnJSQRN4rK9zqKbUO/l1CXwzoEQQCBNCGYxtwc3Mur7bliZ"
   "w4gLn9et2cT+951qu3cxt41H5nOKJJGu2sA7hhO8EWyYF1VLaN/0MW8gFjI2iuVQtFzrQTiGR5SR"
   "Ih2w1IYCLKFQhLGqgNn4bSqPUBSBNUxgJaA8SwQelPGyKszgZWuJBzWmjZOyp3uNUNeyBfpJ7+Ho"
   "Q2XHN7IeNvA50xDqmoAwR+GKBsEjpcM2CMhbmxFWQOieGWuh6Z7FaoGWi3UNPSzAKbWRM45wuzn2"
   "rTl3MWzA+U5cAcLnZisJFA1dw8u9ziUvHabe+5NPEhLLFSDQwooubdMMJ6sAL3ak7M5fERx8TR/n"
   "rjKedYs4WFRt5/ewPL48vzzsv6XZngWFCRZfYvCJwdSbX58e3x/Izg76+tjFkmRyBSHuJ0ThJVLC"
   "8+cbbBhTtAtCttfDqqlWH1lNhS3D2cmfY6sM+e1d9C0mHJXN6XFYiBKDCMOAndqhDUTQd5Spj6RV"
   "r7wVCS3B8GmBdKH1iVVg3yvwd6E6gwE4po8ECzHNvQWxNroRMSyd8ZuK1k5+oRFx3X0ABfY44rcR"
   "tZwQFwBlVRgTcNtGfRXinLIsARl3oTHGPubrkBu8cdEPdEuRiemtpOknwvkL3ZHWAhqyJOz7S/3B"
   "qAT3NfBYct1XMIngAIDVeSEGmonnsiQP36S+b1L7heG+mQBvQAkROERNK+gjGKDwcE6tGZwrH1i4"
   "iNUPNxjd7rQ01RJHjLSLce0qKKeWRR4PVoSQJenCUDWgBIjtR4XPIdbwfKRRpnAYQWtKG0FpBZAN"
   "O82clHCeLD0NlVvfcrY4njVTMvW+MwUzldzCtKPcqxtSQwghjFyyKIyOx4RHAtAnkAhJJadomDBF"
   "57RuFO9JGR9WjPiJ7ETTgjKu7skO3nGTaAtUDAoEyVZq9ywI7aT0MuLuDry8d/S9cLUa+WMEafIa"
   "UiLijvpcY1k+cGXBrwww9jzvzvXFHVNdU1kmgROac5I7yW0JCd1oCUkl5mgJvdTPtEZMR1MPWgP5"
   "RNJigekDGCjwrsANNGKqewznQGrLHsy9OtV6IxqoZLqjaEfVseII3dCAgHvqrJ5c"
  )
  )
  (defun c:xd-text-prefix-form#OnInitialize (/)
    (if (not (xd::doc:acadischs))
      (progn (dcl-Control-SetCaption xd-text-prefix-ok "OK")
     (dcl-Control-SetCaption xd-text-prefix-exit "Quit")
     (dcl-Control-SetCaption xd-text-prefix-title "Prefix")
     (dcl-Control-SetCaption xd-text-postfix-title "Suffix")
     (dcl-Control-SetCaption xd-text-prefix-no-title "Start No")
     (dcl-Control-SetTitleBarText xd-text-prefix-form
  "Add Suffixes To Text"
     )
      )
    )
    (if (or (not xd-text-start-no)
    (not (xdrx_string_regexps "^[0-9]+$" xd-text-start-no))
)
      (setq xd-text-start-no "1")
    )
    (dcl-Control-SetText xd-text-prefix-no xd-text-start-no)
    (if (and (= (type xd-text-prefix-value) 'str)
     (setq xd-text-prefix-value (xdrx-string-replace xd-text-prefix-value " " ""))
)
      (dcl-Control-SetText xd-text-prefix-text
   xd-text-prefix-value
      )
    )
    (if (and (= (type xd-text-postfix-value) 'str)
     (setq xd-text-postfix-value (xdrx-string-replace xd-text-postfix-value " " ""))
)
      (dcl-Control-SetText xd-text-postfix-text
   xd-text-postfix-value
      )
    )
  )
  (defun _do-ok ()
    ;(xdrx-begin)
    (while (setq e (car
     (xdrx-entsel (xdrx-string-multilanguage "\n拾取文本字符串<退出>:"
     "\nPick Text String <Exit>:"
  )
  '((0 . "*TEXT"))
     )
   )
   )
      (if (or (xdrx-object-isa e "AcDbText")
      (xdrx-object-isa e "AcDbMText")
  )
(progn (setq txt (xdrx-getpropertyvalue e "textstring"))
       (if (/= xd-text-prefix-value "")
(setq txt (strcat xd-text-prefix-value xd-text-start-no txt))
       )
       (if (/= xd-text-postfix-value "")
(setq txt (strcat txt xd-text-postfix-value xd-text-start-no))
       )
       (if (/= xd-text-start-no "")
(setq xd-text-start-no (itoa (1+ (atoi xd-text-start-no))))
       )
       (xdrx-setpropertyvalue e "textstring" txt)
)
      )
    )
    ;(xdrx-end)
    (princ)
  )
  (defun c:xd-text-prefix-ok#OnClicked (/)
    (setq xd-text-prefix-value (dcl-Control-GetText xd-text-prefix-text)
  xd-text-prefix-value (xdrx-string-replace xd-text-prefix-value " " "")
  xd-text-postfix-value (dcl-Control-GetText xd-text-postfix-text)
  xd-text-start-no (dcl-Control-GetText xd-text-prefix-no)
  xd-text-postfix-value (xdrx-string-replace xd-text-postfix-value " " "")
  xd-text-start-no (xdrx-string-replace xd-text-start-no " " "")
    )
    (if (and (/= xd-text-start-no "")
     (not (xdrx_string_regexps "^[0-9]+$" xd-text-start-no))
)
      (progn (setq Message (xdrx-string-multilanguage "起始序号必须是正整数!"
      "The starting sequence number must be a positive integer!"
   )
   Title   (xdrx-string-multilanguage "XD温馨提示" "XD Warm reminder")
     )
     (dcl-MessageBox Message Title 2)
     (dcl-Control-SetFocus xd-text-prefix-no)
      )
      (progn
(if (and (= xd-text-prefix-value "")
(= xd-text-postfix-value "")
    )
  (progn (setq Message (xdrx-string-multilanguage "前后缀不能同时为空字符串!"
  "The prefix and suffix cannot be empty strings at the same time!"
       )
       Title   (xdrx-string-multilanguage "XD温馨提示" "XD Warm reminder")
)
(dcl-MessageBox Message Title 2)
(if (= xd-text-prefix-value "")
   (dcl-Control-SetFocus xd-text-prefix-text)
   (dcl-Control-SetFocus xd-text-postfix-text)
)
  )
  (progn (dcl-form-close xd-text-prefix-form) (_do-ok))
)
      )
    )
  )
  (defun c:xd-text-prefix-exit#OnClicked (/)
    (dcl-form-close xd-text-prefix-form)
  )
  (dcl_project_import xd-text-prefix-odcl-data)
  (dcl-Form-Show xd-text-prefix-form)
  (princ)
)
« Last Edit: March 29, 2024, 12:02:54 AM by xdcad »
The code I wrote uses XDRX-API,which can be downloaded from github.com and is updated at any time.
===================================
https://github.com/xdcad
https://sourceforge.net/projects/xdrx-api-zip/
http://bbs.xdcad.net

Hugo

  • Bull Frog
  • Posts: 431
I don't think this will work in 2025


Hugo

  • Bull Frog
  • Posts: 431
here is the error message

xdcad

  • Bull Frog
  • Posts: 493
I don't think this will work in 2025

Because the OPENDCL dialog box is used,
OPENDCL does not yet provide the 2025 version.
So now this plugin cannot run under 2025
The code I wrote uses XDRX-API,which can be downloaded from github.com and is updated at any time.
===================================
https://github.com/xdcad
https://sourceforge.net/projects/xdrx-api-zip/
http://bbs.xdcad.net

xdcad

  • Bull Frog
  • Posts: 493
I don't think this will work in 2025

Go download the 0408 version of the API and try again.

https://github.com/xdcad/XDrx-API
The code I wrote uses XDRX-API,which can be downloaded from github.com and is updated at any time.
===================================
https://github.com/xdcad
https://sourceforge.net/projects/xdrx-api-zip/
http://bbs.xdcad.net

Hugo

  • Bull Frog
  • Posts: 431
Great, thanks now it works