{"id":1525,"date":"2022-09-04T01:15:32","date_gmt":"2022-09-03T16:15:32","guid":{"rendered":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/?p=1525"},"modified":"2022-12-07T01:18:43","modified_gmt":"2022-12-06T16:18:43","slug":"sd_703","status":"publish","type":"post","link":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/sd_703\/","title":{"rendered":"[SD_703] \u6587\u5b57\u7f6e\u63db"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"399\" height=\"44\" src=\"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/image-102.png\" alt=\"\" class=\"wp-image-1526\" srcset=\"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/image-102.png 399w, https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/image-102-300x33.png 300w\" sizes=\"auto, (max-width: 399px) 100vw, 399px\" \/><\/figure>\n\n\n\n<p>\u6587\u5b57\u5217\u3092\u5225\u306e\u6587\u5b57\u5217\u3067\u7f6e\u63db\u3059\u308bAutoLISP\u30b3\u30de\u30f3\u30c9\u3067\u3059\u3002<br>\u904e\u53bb\u306e\u7f6e\u63db\u8a2d\u5b9a\u306e\u5c65\u6b74\u306f\u8a18\u61b6\u3055\u308c\u307e\u3059\u3002<br>\u90e8\u5206\u7684\u306b\u4e00\u81f4\u3059\u308b\u6587\u5b57\u5217\u304c\u3042\u308c\u3070\u7f6e\u63db\u3092\u5b9f\u884c\u3059\u308b\u306e\u304b\u3001\u6587\u5b57\u5217\u5168\u4f53\u304c\u4e00\u81f4\u3057\u3066\u521d\u3081\u3066\u7f6e\u63db\u3092\u5b9f\u884c\u3059\u308b\u306e\u304b\u3092\u9078\u629e\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"421\" height=\"202\" src=\"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/2022-09-04_01h55_14.png\" alt=\"\" class=\"wp-image-1577\" srcset=\"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/2022-09-04_01h55_14.png 421w, https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/2022-09-04_01h55_14-300x144.png 300w\" sizes=\"auto, (max-width: 421px) 100vw, 421px\" \/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"288\" height=\"267\" src=\"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/2022-09-04_01h54_05.png\" alt=\"\" class=\"wp-image-1578\"\/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">\u3000<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"421\" height=\"202\" src=\"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/2022-09-04_01h55_27.png\" alt=\"\" class=\"wp-image-1579\" srcset=\"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/2022-09-04_01h55_27.png 421w, https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wordpress\/wp-content\/uploads\/2022\/09\/2022-09-04_01h55_27-300x144.png 300w\" sizes=\"auto, (max-width: 421px) 100vw, 421px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>;\u6587\u5b57\u7f6e\u63db\r\n\r\n(defun c:SD_703 ( \/ ObjSet dcl_id j m Data DataType Contents Position t1\r\n                  NewL NewString SWordLen SubText PositionL NewContents\r\n                  OrgStrLen mm Answer TransText LastContents TxtStr1 TxtStr2 lst1 lst2 lst3)\r\n   (if (= SD:Lang \"E\")\r\n      (princ \"\\n &#91;SD_703 ver.20220904] Replace Text. Press &#91;F1] for help\")\r\n      (princ \"\\n &#91;SD_703 ver.20220904] \u305f\u3060\u306e\u6587\u5b57\u7f6e\u63db\u3002 &#91;F1]\u3067\u4f7f\u3044\u65b9\u8aac\u660e\")\r\n   )\r\n   (princ \"\\n **********************************\")\r\n   (load \"SD_U\")\r\n   (load \"SD_103\")\r\n   (setq *error* *myerror*)   \r\n   (OpeningRoutine)\r\n   (setfunhelp \"C:SD_703\" \"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/sd_703\/\")\r\n   \r\n   (setq AcadVersion (getvar \"acadver\"))\r\n   (setq ObjSet (ssget '((-4 . \"&lt;OR\")(0 . \"TEXT\")(0 . \"MTEXT\")(-4 . \"&lt;AND\")(0 . \"INSERT\")(66 . 1)(-4 . \"AND>\")(-4 . \"OR>\"))))\r\n   \r\n   ;\u30c0\u30a4\u30a2\u30ed\u30b0\u547c\u3073\u51fa\u3057\r\n   (setq dcl_id (load_dialog \"SD_703.dcl\"))\r\n   (if (= SD:Lang \"E\")\r\n      (new_dialog \"ReplaceTexts\" dcl_id)\r\n      (new_dialog \"ReplaceTexts_J\" dcl_id)\r\n   )\r\n\r\n   (RegistryRead_703)\r\n   (setq    lst1 (SpaceText->list_ddedit TxtStr1))\r\n   (setq    lst2 (SpaceText->list_ddedit TxtStr2))\r\n   (setq   lst3 (mapcar '(lambda (x y)(strcat x \" -> \" y)) lst1 lst2))\r\n   (start_list \"pl1\")\r\n      (mapcar ' add_list lst3)\r\n   (end_list)\r\n   (action_tile \"pl1\" \"(set_tile \\\"SearchWord\\\" (nth (atoi $value) lst1))(set_tile \\\"Replacement\\\" (nth (atoi $value) lst2))\")   (action_tile \"accept\" \"(get_data_703)(done_dialog 1)\")\r\n   (action_tile \"cancel\" \"(done_dialog 0)\")\r\n   (action_tile \"help\" \"(startapp \\\"explorer\\\" \\\"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/sd_703\/\\\")\")\r\n\r\n   (setq Act (start_dialog))\r\n   (unload_dialog dcl_id)\r\n   (if (= Act 0) (exit))\r\n   (member SWord lst1)(member RWord lst2)\r\n   (if (null (and (member SWord lst1)(member RWord lst2)))\r\n      (progn\r\n         (if (>= (length lst1) 20)\r\n            (setq    lst1 (reverse (cdr (reverse lst1))))\r\n         )\r\n         (setq    lst1 (append (list SWord) lst1)\r\n               TxtStr1 (mapcar '(lambda (x) (strcat x \";\")) lst1)\r\n               TxtStr1 (apply 'strcat TxtStr1)\r\n               TxtStr1 (vl-string-right-trim \";\" TxtStr1))\r\n         (if (>= (length lst2) 20)\r\n            (setq    lst2 (reverse (cdr (reverse lst2))))\r\n         )\r\n         (setq    lst2 (append (list RWord) lst2)\r\n               TxtStr2 (mapcar '(lambda (x) (strcat x \";\")) lst2)\r\n               TxtStr2 (apply 'strcat TxtStr2)\r\n               TxtStr2 (vl-string-right-trim \";\" TxtStr2))\r\n         (Write_Registry_703)))\r\n   \r\n   (setq j  0 m (sslength ObjSet))    ;i\u306f\u9078\u629e\u3057\u305f\u6587\u5b57\u3092\u79fb\u52d5\u3001m\u306f\u9078\u629e\u3057\u305f\u6587\u5b57\u306e\u7dcf\u6570\r\n   (repeat m\r\n      (setq Data (entget (ssname ObjSet j)))\r\n      (setq DataType (SD3511 0 (ssname ObjSet j)))\r\n\r\n      (cond   ((= DataType \"INSERT\")\r\n               (setq List1 (InsideAttribList (ssname ObjSet j)))\r\n               (foreach item List1\r\n                  (if (= (car item) \"ATTRIB\")\r\n                     (progn \r\n                        (setq    Data (entget (cadr item))\r\n                              Contents (SD3511 1 Data)\r\n                        )\r\n                        (setq Position nil)\r\n                        (if (null (and (= t1 \"1\")(\/= Contents SWord)))(Procedure_703))\r\n                        (entupd (cadr item))\r\n                     )   \r\n                  )\r\n               )\r\n            )\r\n            (T \r\n               (setq Contents (SD3511 1 Data))\r\n               (setq Position nil)\r\n               (if (null (and (= t1 \"1\")(\/= Contents SWord)))(Procedure_703))\r\n            )\r\n      )\r\n      (setq j (1+ j))\r\n   )\r\n   \r\n   (ClosingRoutine)\r\n   (setq *error* nil)\r\n   (princ)\r\n)\r\n\r\n\r\n(defun Procedure_703()\r\n      (cond          ;\u691c\u7d22\u6587\u5b57\u304c1byte1\u6587\u5b57\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u533a\u5225\r\n                  ((and SWord (=(strlen SWord) 1)(vl-position SWord (StringToList Contents))(= UpperLower \"1\" ))      \r\n                     (setq NewL (subst RWord SWord (StringToList Contents)))\r\n                     (setq NewString (ListToString NewL))\r\n                     (setq Data (subst (cons 1 NewString) (assoc 1 Data) Data))\r\n                     (entmod Data)\r\n                  )\r\n                  \r\n                  ;\u691c\u7d22\u6587\u5b57\u304c1byte1\u6587\u5b57\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u533a\u5225\u305b\u305a\u3002\uff11\u56de\u76ee\u3067\u5927\u6587\u5b57\u3092\u3001\uff12\u56de\u76ee\u306b\u5c0f\u6587\u5b57\u3092$\u306b\u4eee\u5909\u63db\u3057\u6700\u5f8c\u306b\u518d\u5909\u63db\r\n                  ((and SWord (=(strlen SWord) 1)(vl-position (strcase SWord T) (StringToList (strcase Contents T)))(= UpperLower \"0\" ))\r\n                     (setq NewL (subst \"$\" (strcase SWord T)  (StringToList Contents)))\r\n                     (setq NewL (subst \"$\" (strcase SWord)  NewL))\r\n                     (setq NewL (subst RWord \"$\" NewL))\r\n                     (setq NewString (ListToString NewL))\r\n                     (setq Data (subst (cons 1 NewString) (assoc 1 Data) Data))\r\n                     (entmod Data)\r\n                  )\r\n                  \r\n                  ;\u691c\u7d22\u6587\u5b57\u304c2\u6587\u5b57\u4ee5\u4e0a\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u533a\u5225\r\n                  ((and SWord (\/=(strlen SWord) 1)(vl-string-search  SWord  Contents)(= UpperLower \"1\" ))\r\n                     (if    (vl-string-search  SWord  Contents)(progn               \r\n                        (setq Contents (vl-string-subst RWord SWord Contents))\r\n                        (setq Data (subst (cons 1 Contents) (assoc 1 Data) Data))\r\n                        (entmod Data))\r\n                     )\r\n                  )\r\n                  \r\n                  ;\u691c\u7d22\u6587\u5b57\u304c2\u6587\u5b57\u4ee5\u4e0a\u3001\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u533a\u5225\u3057\u306a\u3044\uff08\u4e00\u756a\u96e3\u3057\u3044\uff09\r\n                  ((and SWord (\/=(strlen SWord) 1)(vl-string-search  (strcase SWord T) (strcase Contents T))(= UpperLower \"0\" ))\r\n                     (setq positionL nil)\r\n                     ;\u4ee3\u66ff\u306e\u5358\u8a9e\u3092\u4f5c\u6210\r\n                     (setq SWordLen (strlen SWord))\r\n                     (setq SubText \"\")\r\n                     (repeat SWordLen\r\n                        (setq SubText (strcat SubText \"$\"))\r\n                     )\r\n                     \r\n                     ;\u4e00\u65e6\u3001\u5168\u90e8\u5c0f\u6587\u5b57\u306b\u3057\u3066\u3001\u4ee3\u66ff\u5358\u8a9e\u306b\u7f6e\u63dbNewContents\u3002\u4ee3\u66ff\u5358\u8a9e\u306e\u4f4d\u7f6e\u3092\u30ea\u30b9\u30c8\u3067\u8a18\u9332PositionL\r\n                     (setq NewContents Contents)\r\n                     (while (vl-string-search  (strcase SWord T) (strcase NewContents T))\r\n                        (cond    ((= position nil)(setq position 0))\r\n                              ((= position 0)(setq position 1))\r\n                              (t (setq position (1+ position)))\r\n                        )\r\n                        (setq NewContents (vl-string-subst SubText (strcase SWord T) (strcase NewContents T)))\r\n                        (setq Position (vl-string-search SubText NewContents Position))\r\n                        (setq PositionL (append PositionL (list Position)))\r\n                     )\r\n                     ;\u4ee3\u66ff\u5358\u8a9e\u306e\u57cb\u3081\u8fbc\u307e\u308c\u305f\u4f4d\u7f6e\u306f\u3001\u672c\u6765\u306e\u7f6e\u63db\u6587\u5b57\u306b\u7f6e\u304d\u63db\u3048\u306a\u304c\u3089\u3001\u5de6\u7aef\u304b\u3089\uff11\u6587\u5b57\u305a\u3064\u79fb\u690d\u3057\u5b8c\u6210Answer\r\n                     (setq OrgStrLen (strlen Contents))\r\n                     (setq mm 0 Answer \"\")\r\n                     (repeat OrgStrLen\r\n                        (if    ( member mm PositionL)\r\n                           (progn    (setq TransText RWord)\r\n                                 (setq mm (+ mm SWordLen -1))   \r\n                           )\r\n                           (setq TransText (substr Contents (1+ mm) 1))\r\n                        )\r\n                        (setq Answer (strcat Answer  TransText))\r\n                        (setq mm (1+ mm))\r\n                     )\r\n                     (setq Data (subst (cons 1 Answer) (assoc 1 Data) Data))\r\n                     (entmod Data)\r\n                  )\r\n      )   \r\n)\r\n\r\n;\u30c0\u30a4\u30a2\u30ed\u30b0\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97++++++++++++++++++++++\r\n(defun get_data_703( )\r\n   (if   (and (get_tile \"SearchWord\") (get_tile \"Replacement\"))\r\n         (setq SWord (get_tile \"SearchWord\") RWord (get_tile \"Replacement\"))\r\n   )\r\n   (setq UpperLower (get_tile \"UpperLower\"))\r\n   (setq t1 (get_tile \"t1\"))\r\n\r\n   (vl-registry-write Path703 \"SearchWord\" SWord)   \r\n   (vl-registry-write Path703 \"Replacement\" RWord)\r\n   (vl-registry-write Path703 \"UpperLower\" UpperLower)\r\n   (vl-registry-write Path703 \"t1\" t1)\r\n\r\n)\r\n;\u30c0\u30a4\u30a2\u30ed\u30b0\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97++++++++++++++++++++++\r\n(defun Write_Registry_703( )\r\n   (vl-registry-write Path703 \"TxtStr1\" TxtStr1)\r\n   (vl-registry-write Path703 \"TxtStr2\" TxtStr2)\r\n)\r\n;\u30ec\u30b8\u30b9\u30c8\u30ea\u304b\u3089\u30c7\u30fc\u30bf\u3092\u53d6\u5f97-----------------------------------------------------------------------------------------------\r\n(defun RegistryRead_703()\r\n   (setq Path703 \"HKEY_CURRENT_USER\\\\Software\\\\SpeedDraft\\\\SD_703\")\r\n   \r\n   (if (vl-registry-read Path703 \"SearchWord\" )\r\n      (set_tile \"SearchWord\" (vl-registry-read Path703 \"SearchWord\"))\r\n   )\r\n   (setq TxtStr1 (vl-registry-read Path703 \"TxtStr1\"))\r\n   (if    (null TxtStr1)\r\n      (setq TxtStr1 \"\")\r\n   )\r\n   (setq TxtStr2 (vl-registry-read Path703 \"TxtStr2\"))\r\n   (if    (null TxtStr2)\r\n      (setq TxtStr2 \"\")\r\n   )\r\n   (if (vl-registry-read Path703 \"Replacement\" )\r\n      (set_tile \"Replacement\" (vl-registry-read Path703 \"Replacement\"))\r\n   )\r\n   (if (vl-registry-read Path703 \"UpperLower\" )\r\n         (set_tile \"UpperLower\" (vl-registry-read Path703 \"UpperLower\" ))\r\n   )\r\n   (if (vl-registry-read Path703 \"t1\" )\r\n         (set_tile \"t1\" (vl-registry-read Path703 \"t1\" ))\r\n   )\r\n)\r\n(princ)\r\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>ReplaceTexts : dialog {label = \"Replace Texts\" ;initial_focus=\"SearchWord\";\n\t:column{\n\t:edit_box {label=\"Search  \";key=\"SearchWord\";\tallow_accept=true;edit_width=30;}\n\t:edit_box {label=\"Replacement\";key=\"Replacement\";allow_accept=true;edit_width=30;}\n\t:row{\n\t:spacer {width =14;}\n\t:list_box {width=30;Height=8;fixed_width=\"true\";fixed_height=\"true\";key=\"pl1\";allow_accept=true;}\n\t}\n\t:toggle{label=\"Consider Uppercase\/Lowercase.\";key=\"UpperLower\";}\n\t:toggle{label=\"Whole text only.\";key=\"t1\";}\n\t:spacer {height =1;}\n\t:row{\n\t\tok_cancel_help;\n\t}\n\t}\n}\n\nReplaceTexts_J : dialog {label = \"\u6587\u5b57\u7f6e\u63db\" ;initial_focus=\"SearchWord\";\n\t:column{\n\t:edit_box {label=\"\u691c\u7d22\u3059\u308b\u5358\u8a9e\";key=\"SearchWord\";allow_accept=true;edit_width=30;}\n\t:edit_box {label=\"\u7f6e\u63db\u3059\u308b\u5358\u8a9e\";key=\"Replacement\";allow_accept=true;edit_width=30;}\n\t:row{\n\t:spacer {width =14;}\n\t:list_box {width=30;Height=8;fixed_width=\"true\";fixed_height=\"true\";key=\"pl1\";allow_accept=true;}\n\t}\n\t:toggle{label=\"\u5927\u6587\u5b57\u30fb\u5c0f\u6587\u5b57\u3092\u8003\u616e\u3059\u308b\";key=\"UpperLower\";}\n\t:toggle{label=\"\u5358\u8a9e\u304c\u5b8c\u5168\u306b\u4e00\u81f4\u3059\u308b\u5834\u5408\u306e\u307f\u7f6e\u63db\";key=\"t1\";}\n\t:spacer {height =1;}\n\t:row{\n\t\tok_cancel_help;\n\t}\n\t}\n}\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"\u6587\u5b57\u5217\u3092\u5225\u306e\u6587\u5b57\u5217\u3067\u7f6e\u63db\u3059\u308bAutoLISP\u30b3\u30de\u30f3\u30c9\u3067\u3059\u3002\u904e\u53bb\u306e\u7f6e\u63db\u8a2d\u5b9a\u306e\u5c65\u6b74\u306f\u8a18\u61b6\u3055\u308c\u307e\u3059\u3002\u90e8\u5206\u7684\u306b\u4e00\u81f4\u3059\u308b\u6587\u5b57\u5217\u304c\u3042\u308c\u3070\u7f6e\u63db\u3092\u5b9f\u884c\u3059\u308b\u306e\u304b\u3001\u6587\u5b57\u5217\u5168\u4f53\u304c\u4e00\u81f4\u3057\u3066\u521d\u3081\u3066\u7f6e\u63db\u3092\u5b9f\u884c\u3059\u308b\u306e\u304b\u3092\u9078\u629e\u3067\u304d\u307e\u3059\u3002 \u3000","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,20],"tags":[],"class_list":["post-1525","post","type-post","status-publish","format-standard","hentry","category-toolbar-common","category-text-toolbar"],"_links":{"self":[{"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/posts\/1525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/comments?post=1525"}],"version-history":[{"count":4,"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/posts\/1525\/revisions"}],"predecessor-version":[{"id":2992,"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/posts\/1525\/revisions\/2992"}],"wp:attachment":[{"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/media?parent=1525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/categories?post=1525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.offshorecad.com.ph\/speeddraft\/blog\/wp-json\/wp\/v2\/tags?post=1525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}