自贡黄明儒 发表于 2011-12-8 13:39:53

创建txt文件方法

本帖最后由 自贡黄明儒 于 2011-12-16 08:21 编辑

;我想把自己的计算结果存入txt文件,显示给用户看.为方便起,用户不用输入文件名等.
;问题一 (vl-catch-all-error-message catchit)问题是返回了错误,问题在哪儿呢?
;问题二 该死的FileSystemObject给我们带来了方便,同时也带来了烦恼,想说爱她不容易。<微软Vbscript手册vbs.chm>中的一些参数,在lisp中到底该怎么写?(nonsmall那个VBA-LISP.lsp好象不能告诉我们答案)


;;;创建txt文件 方法1
;;;(setq m (vlax-create-object "scripting.FileSystemObject"))
;;;(vlax-dump-object m t)
(defun CreateTXTfile (/ FIL FILENAME OBJ)
(vl-load-com)
(setq filename (strcat (getvar "dwgprefix") (cadr (fnsplitl (getvar "dwgname"))) ".txt"))
(setq obj (vlax-create-object "scripting.FileSystemObject"))
;;(setq catchit (vl-catch-all-apply '(vlax-invoke (vlax-create-object "scripting.FileSystemObject") "CreateTextFile" filename :vlax-true :vlax-false)))
;;(vl-catch-all-error-message catchit)问题是返回了错误?
(setq      fil (vlax-invoke obj "CreateTextFile" filename :vlax-true :vlax-false))
(vlax-release-object obj)
(vlax-release-object fil)
(command "notepad" filename);显示文件
)

;;;创建txt文件 方法2
(defun CreateTXTfile2 (/ FILENAME STRFILEFULLNAME)
(vl-load-com)
(setq filename (strcat (getvar "dwgprefix") (cadr (fnsplitl (getvar "dwgname"))) ".txt"))
(setq strFileFullName (vl-filename-mktemp filename))
;(setq objectFile (open strFileFullName "w"));打开文件写
(.....)
;(close objectFile);关闭文件
;(command "notepad" strFileFullName);显示文件,但要问用户是否创始
;(vl-file-delete strFileFullName);是临时文件,不用也没关系
)

Andyhon 发表于 2011-12-8 14:29:46

省事的套用法
DosLib
http://download.rhino3d.com/McNeel/1.0/doslib/

Syntax
(dos_tempfile)

Command: (dos_tempfile)

"C:\\DOCUME~1\\User0\\LOCALS~1\\Temp\\~ac5A04.tmp"

jyzas 发表于 2013-8-9 17:13:37

(defun C:CT ()
(vl-load-com)
(setq filename "c:\\zas.txt")
(setq SYS (vlax-get-or-create-object "Scripting.FileSystemObject"))
(setq txt (vlax-invoke-methodsys "CreateTextFile" filename t t))
(vlax-release-object SYS)
(vlax-release-object TXT)
(command "notepad" filename);显示文件
)

jyzas 发表于 2013-8-11 20:13:57

楼主是否知道怎样使用读取的参数??
页: [1]
查看完整版本: 创建txt文件方法