明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3281|回复: 12

根据提示读取TXT文件中的数据

  [复制链接]
发表于 2004-6-16 11:10:00 | 显示全部楼层 |阅读模式
L1
((b 20) (d 3) (r 3.5) (jmmj 1.13) (mzl 0.89) (z0 0.6))
L2
((b 20) (d 4) (r 3.5) (jmmj 1.46) (mzl 1.15) (z0 0.64))
L3
((b 25) (d 3) (r 3.5) (jmmj 1.43) (mzl 1.12) (z0 0.73))
L4
((b 25) (d 4) (r 3.5) (jmmj 1.86) (mzl 1.46) (z0 0.76)) 形如以上的TXT文件,下面还有很多就不写了 (setq a (getstring "\n请输入规格:")) ;输入L4 那么怎么定义一个变量mzl等于TXT文件中L4下的mzl呢
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-6-16 12:18:00 | 显示全部楼层
(defun C:test (/ f a line LL)
(setq f (open "[I]filename[/I]" "r"))
(setq a (getstring "\n请输入规格:"))
(while (setq line (read-line f))
(if (= (read line) (read a))
(progn
(setq LL (read (read-line f)))
(mapcar '(lambda (x) (set (car x) (cadr x))) LL)
)
)
)
(close f)
(princ)
)
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2004-6-16 15:50:00 | 显示全部楼层
谢谢你alin,我读写文件那里掌握的不太好, (mapcar '(lambda (x) (set (car x) (cadr x))) LL) 这句是什么意思? 还有,如果我想要的规格在TXT文件中没有,可不可以在LISP里直接进行添加呢?
发表于 2004-6-16 21:46:00 | 显示全部楼层
(mapcar '(lambda (x) (set (car x) (cadr x))) LL)


是把数据文件中的数据逐个赋予前面的变量, 如jmmj = 1.86


[I]
还有,如果我想要的规格在TXT文件中没有,可不可以在LISP里直接进行添加呢?
[/I]


       

[/CODE]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-6-17 08:09:00 | 显示全部楼层
楼主可能是看不懂mapcar与lambda函数。但这些不是关键,你完全可以用其它方式实现。


关键是使用 Set函数 与 Setq函数 的区别。


你可以查一下 Set 函数 的说明。
 楼主| 发表于 2004-6-17 09:06:00 | 显示全部楼层
alin用你昨天给我的程序时,为什么老是提示参数太多呢?
发表于 2004-6-17 10:26:00 | 显示全部楼层
??? Have you changed the path in the codes ? Have you got the right format of data.txt?
 楼主| 发表于 2004-6-18 10:27:00 | 显示全部楼层
说中文行不?
发表于 2004-6-19 07:27:00 | 显示全部楼层
我测试过好象没问题,所以不明白。你可以把你实际运行的程序和数据文件贴上来看看
 楼主| 发表于 2004-6-20 15:20:00 | 显示全部楼层
我用了个笨办法,我把他们全放在LSP里了


就是改着吃点力
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-26 07:45 , Processed in 0.218572 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表