chvnprasad 发表于 2022-7-5 22:43:04

根据从记事本中放置文本

样品txtHi公司
我需要一个lisp的地方根据给定的数据在记事本中的文本。Innotepad坐标和文本用分号(符号)分隔。需要从记事本中读取并根据坐标放置文本。
提前谢谢。

MSasu 发表于 2022-7-5 23:20:40

您可以从该文件中自行构建脚本;使用Excel加快流程。
_TEXT 0,0 5.0 0.0 NAME1
_TEXT 1,1 5.0 0.0 NAME2
_TEXT 2,2 5.0 0.0 NAME3
_TEXT 3,3 5.0 0.0 NAME4
<end of script>

chvnprasad 发表于 2022-7-5 23:37:24

感谢您的快速回复。
 
实际上我需要Lisp程序。我正在从另一个软件读取数据,并使用分隔符保存在记事本中。基于此输入,从记事本lisp自动需要放置文本。

Tharwat 发表于 2022-7-5 23:56:04

这是我在沼泽中发布的代码。

(defun c:Test (/ f o Deconstruct_String cm st l)
(if (and (setq f (getfiled "Select Txt file " "" "txt" 16))
          (setq o (open f "r"))
   )
   (progn
   (defun Deconstruct_String (st delimiter / p l)
       ;;    Tharwat 01. Nov. 2012   ;;
       (while (setq p (vl-string-search delimiter st 0))
         (setq l(cons (substr st 1 p) l)
               st (substr st (+ p 2) (strlen st))
         )
       )
       (if st
         (setq l (cons st l))
       )
       (setq l (reverse l))
   )
   (setq cm (getvar 'CMDECHO))
   (setvar 'CMDECHO 0)
   (while (setq st (read-line o))
       (setq l (Deconstruct_String st ";"))
       (if (and l (vl-string-search "," (car l)) (eq (length l) 2))
         (vl-cmdf "_.TEXT" (car l) (getvar 'TEXTSIZE) "0." (cadr l))
       )
   )
   (setvar 'CMDECHO cm)
   (close o)
   )
)
(princ)
)
页: [1]
查看完整版本: 根据从记事本中放置文本