lisp输出txt文件对齐文字新建写文件打开txt文件

  • A+
所属分类:CAD二次开发

在使用CAD二次开发lsp代码的时候,想把坐标导出到txt文本里面,但是导出后打开看了一下,里面很乱,有的坐标整数,或者字数不统一,造成里面的文字错位,显得很乱,想要把里面的字按照一定的比例,对齐文字,这样才能看着舒服。

先分析手动对齐的原理,原理就是我们我们用的是空格对齐,用空格来站位,意思就是如果字数不够,就用空格来填充,填充到满;足条件的时候才写入下一条数据,这样不就是我们对齐的原理吗,

另一种就是对齐符号"\t"

直接上代码,可以直接复制下来测试。

(defun c:dqq()
(setq xxp (open (strcat "C:\\1.txt") "W"));文件
(setq k 1);http://huojibk.com/

(princ (strcat"序号 " "姓名 \n") xxp);(princ (strcat"序号\t " "\t姓名 \n") xxp)
(repeat 50

(princ (strcat(itoa k) ) xxp)

(setq kdq(strlen (itoa k)));序号字数

;判断字数后不够用空格填充
(if (< kdq 7)
(repeat (- 7 kdq)
(princ " " xxp)
)
(repeat (- 8 kdq)
(princ " " xxp)
)
)

(princ (strcat "伙计百科"(itoa k)"\n") xxp)
(setq k (1+ k))

) ;

(close XXP)
(startapp "notepad.exe" "C:\\1.txt")
)

复制

上面只是个例子,序号是浮动的,可以看出对齐后的效果

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: