TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => XDRX-API => Topic started by: xdcad on March 28, 2024, 11:49:47 PM

Title: [XDrX-PlugIn(111)]Batch increment prefix and suffix numbers +1 for each click
Post by: xdcad on March 28, 2024, 11:49:47 PM
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)
)
Title: Re: [XDrX-PlugIn(111)]Batch increment prefix and suffix numbers +1 for each click
Post by: Hugo on March 29, 2024, 09:54:03 AM
I don't think this will work in 2025

Title: Re: [XDrX-PlugIn(111)]Batch increment prefix and suffix numbers +1 for each click
Post by: Hugo on March 29, 2024, 09:56:54 AM
here is the error message
Title: Re: [XDrX-PlugIn(111)]Batch increment prefix and suffix numbers +1 for each click
Post by: xdcad on March 29, 2024, 11:38:51 AM
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
Title: Re: [XDrX-PlugIn(111)]Batch increment prefix and suffix numbers +1 for each click
Post by: xdcad on April 01, 2024, 06:45:59 AM
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
Title: Re: [XDrX-PlugIn(111)]Batch increment prefix and suffix numbers +1 for each click
Post by: Hugo on April 01, 2024, 08:23:41 AM
Great, thanks now it works