[求助]读.txt文件时为何老是出现错误??
<p></p> 我 先把我的程序跟要上传的.txt文件发上去..可我调用时每次都出现错误: bad argument type<br/>nil*Cancel*,,表ptr为(("c5" 3000 15) ("c3" 3000 15) ("c2" 2000 10) ("c1" 1000 11)),,我觉得应该是(read-line ff)出了问题,最后为nil,所以不匹配,可我又不知道该如何解决,要想读完文件,(read-line ff)必须是空的啊.. <p>简单改了一下,应该满足要求了</p><p>(defun c:rt ()<br/> (setq datfile (getfiled "展点原始数据:" "F:\\11" "txt" 2)) ;查找文件路径<br/> (setq ff (open datfile "r"))</p><p> (setq dat T)<br/> (setq dat (read-line ff))<br/> (while dat<br/> (setq data (read (strcat "(" dat ")")))<br/> (setq ptr (cons data ptr))<br/> (setq dat (read-line ff))<br/> )</p><p> (setq b 4)<br/>)<br/></p> <strong><font face="Verdana" color="#61b713">多谢north911了,你的着一指点真是帮了我大忙..谢谢了..很好用了</font></strong> 不错!不过现在的展点程序比这个还好用啊! <p><a href="http://zml84.blog.sohu.com/86352409.html">http://zml84.blog.sohu.com/86352409.html</a></p><p></p><p><font face="Fixedsys"><font color="#ff0000">(</font><font color="#0000ff">vl-load-com</font><font color="#ff0000">)</font></font><br/><font face="Fixedsys" color="#990099">;;;==============================================================</font><br/><font face="Fixedsys" color="#990099">;;; 通用函数 </font><br/><font face="Fixedsys" color="#990099">;;;功能:读取指定的文本文件,返回文件内容的表 </font><br/><font face="Fixedsys" color="#990099">;;;参数:FILENAME -----文件名称 </font><br/><font face="Fixedsys" color="#990099">;;;返回:文件内容组成表。 </font><br/><font face="Fixedsys" color="#990099">;;;日期:zml84 于 2008-04-25 </font><br/><font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">defun</font><font face="Fixedsys">ZML-LX-FILE-TO-LIST</font>
<font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys">FILENAME</font>
<font face="Fixedsys" color="#0000ff">/</font>
<font face="Fixedsys">F1</font>
<font face="Fixedsys">STR</font>
<font face="Fixedsys">LST</font><font face="Fixedsys" color="#ff0000">)</font><br/> <font face="Fixedsys" color="#990099">;;尝试打开文件</font><br/> <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">if</font> <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">setq</font>
<font face="Fixedsys">F1</font>
<font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">open</font>
<font face="Fixedsys">FILENAME</font>
<font face="Fixedsys" color="#ff00ff">"r"</font><font face="Fixedsys" color="#ff0000">)</font><font face="Fixedsys" color="#ff0000">)</font><br/> <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">progn</font><br/> <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">setq</font>
<font face="Fixedsys">LST</font>
<font face="Fixedsys" color="#990000">'</font><font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#ff0000">)</font><font face="Fixedsys" color="#ff0000">)</font><br/> <font face="Fixedsys" color="#990099">;;逐行读取</font><br/> <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">while</font>
<font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">setq</font>
<font face="Fixedsys">STR</font>
<font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">read-line</font>
<font face="Fixedsys">F1</font><font face="Fixedsys" color="#ff0000">)</font><font face="Fixedsys" color="#ff0000">)</font><br/><font face="Fixedsys" color="#990099">;;; ;;转换为大写</font><br/><font face="Fixedsys" color="#990099">;;; (setq STR (strcase STR))</font><br/><font face="Fixedsys" color="#990099">;;; ;;替换</font><br/><font face="Fixedsys" color="#990099">;;; (setq STR (vl-string-translate "XYZ;" " " STR))</font><br/> <font face="Fixedsys" color="#990099">;;拆分为表</font><br/> <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">setq</font>
<font face="Fixedsys">LST</font>
<font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">cons</font>
<font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">read</font>
<font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">strcat</font>
<font face="Fixedsys" color="#ff00ff">"("</font>
<font face="Fixedsys">STR</font>
<font face="Fixedsys" color="#ff00ff">")"</font><font face="Fixedsys" color="#ff0000">)</font><font face="Fixedsys" color="#ff0000">)</font>
<font face="Fixedsys">LST</font><font face="Fixedsys" color="#ff0000">)</font><font face="Fixedsys" color="#ff0000">)</font><br/> <font face="Fixedsys" color="#ff0000">)</font><br/> <font face="Fixedsys" color="#990099">;;关闭文件</font><br/> <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">close</font>
<font face="Fixedsys">F1</font><font face="Fixedsys" color="#ff0000">)</font><br/> <font face="Fixedsys" color="#990099">;;返回</font><br/> <font face="Fixedsys" color="#ff0000">(</font><font face="Fixedsys" color="#0000ff">reverse</font>
<font face="Fixedsys">LST</font><font face="Fixedsys" color="#ff0000">)</font><br/> <font face="Fixedsys" color="#ff0000">)</font><br/> <font face="Fixedsys" color="#ff0000">)</font><br/><font face="Fixedsys" color="#ff0000">)</font><br/><font face="Fixedsys" color="#990099">;;;==============================================================</font></p>
页:
[1]