tyliling 发表于 2005-8-30 16:39:00

LISP写文件!!!急急...!!

<P>各位高手,最近本人想把一些CAD里面数据写到一个文件中去,但是此文件如果没有的话,LISP可不可以判别如果没有此文件就自动产生该文件....</P>

以马内利 发表于 2005-8-30 17:10:00

<P>可以判断!</P>
<P>(if(findfile 文件路径+文件名)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (find)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (not find)</P>
<P>)</P>

tyliling 发表于 2005-8-30 17:27:00

<P>我是初学者能不能具体点,我的程式是这样的</P>
<P>(setq winwin (findfile "D:\\winwin.dat"))<BR>&nbsp; (setq ff (open winwin "r"))<BR>&nbsp; (setq data (read-line&nbsp; ff))<BR>&nbsp; (close ff)</P>

tyliling 发表于 2005-8-30 19:57:00

怎么没有高手指点呢?

xyp1964 发表于 2005-8-30 20:39:00

可以参照下面的程序:
;;;屏幕点坐标输出到文本
(DEFUN C:test120 (/ NMM F PT)
(IF (SETQ NMM (GETFILED "文件名称 : " "" "txt" 9))
    (PROGN
      (SETQ F (OPEN NMM "w"))
      (WHILE (SETQ PT (GETPOINT "\n坐标点<退出> : "))
(write-line
   (strcat (rtos (car pt) 2)
    " "
    (rtos (cadr pt) 2)
    " "
    (rtos (caddr pt) 2)
   )
   F
)
      )
      (CLOSE F)
    )
)
(princ (strcat "\n坐标写至=>" NMM))
(princ)
)

tyliling 发表于 2005-8-30 22:16:00

楼上这位高手,我的意思就是不想出现存取的对话框,想自动产生那个文件。不知道有没有办法.

meflying 发表于 2005-8-31 08:22:00

<P>看你3楼的,是读文件,如果没有,生成一个,再读有什么意义?</P>

tyliling 发表于 2005-8-31 08:44:00

楼上这位大哥!我的意思是是写文件,如果没有我想要的文件不知用什么方法可以产生该文件

cexoss2349 发表于 2005-8-31 09:14:00

(setq fn(open "c:\\winwin.dat" "w"))就直接有这种功能吧。查看OPEN命令中W字段有解释,不同就是如果文件存在就会覆盖原文件。
<P>&nbsp;</P>

ZZXXQQ 发表于 2005-8-31 10:20:00

<P>...</P>
<P>(IF (SETQ F (OPEN&nbsp;FNM "r"))</P>
<P>&nbsp;(SETQ FNM (GETSTRING&nbsp;"\nNew File Name :&nbsp;"))</P>
<P>)</P>
<P>&nbsp;(SETQ F (OPEN FNM "w"))</P>
<P>...</P>
页: [1] 2
查看完整版本: LISP写文件!!!急急...!!