meflying 发表于 2004-5-25 17:39:00

看看你的文本。。。刚粘贴,没有改动的

lk_mbf 发表于 2004-5-25 17:53:00

好,我传上来。

lk_mbf 发表于 2004-5-25 17:58:00

我调整了一下这个文档,修改字符读取位置,程序能执行正确,但另一个表格,坐标和这不一样,又要调整文档,修改读取位置,确实还不够完善!

f5612140 发表于 2004-5-25 18:05:00

所以,你要彈性做法是依空格分開,知道如何判斷每行是7筆資料,如何取得資料

lk_mbf 发表于 2004-5-25 18:09:00

如果我在坐标间加“,”呢?会不会读取更方便些?

meflying 发表于 2004-5-25 18:13:00

试试这样:(defun ReadData(/ Data_list file str)
   (setq file (getfiled "选择文件..." "" "txt" 8))
   (setq f (open file "r"))
   (setq Data_list nil)
   (while (setq str (read-line f))
       (if (/= (vl-string-trim " " str) "")
         (setq Data_list (append Data_list (list str)))
       )
   )
   (mapcar '(lambda(e) (read (strcat "(" e ")"))) Data_list)
)

lk_mbf 发表于 2004-5-27 18:31:00

这样做只是将数据按行整合在一个括号内,没有达到分开读取空格间实数的目的啊?

meflying 发表于 2004-5-27 18:43:00

这不是整合在括号内,是做成了表,LISP就是表处理函数,有了表,你想怎么读就怎么读,想读哪个数据就读哪个数据了。


又看了一下,你的数据,怎么从EXCEL复制过来会有逗号?

无痕 发表于 2004-5-28 01:14:00

那是他自己加的

meflying 发表于 2004-5-28 07:54:00

真不明白,我给他了读取的函数,为什么还要去画蛇添足加上逗号?而且还不利于读取。。。。。。好象就是我回复慢了点而已。
页: 1 [2] 3 4
查看完整版本: 求助:有关READ-LINE(文本数据导入CAD)