明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2990|回复: 17

还是文字读写的问题

  [复制链接]
发表于 2004-6-27 09:14:00 | 显示全部楼层 |阅读模式
怎么样才能在原文本文件的下一行追加记录呢?我试过以“A”打开好像不好使!


还有怎么样才能任意删除第N行数据呢?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-6-27 10:19:00 | 显示全部楼层
;;任意删除第N行数据 (defun DelLine (file NumberOfLine / cnt line lst f )
(setq lst '() cnt 0)
(setq f (open file "r"))
(while (setq line (read-line f))
(setq cnt (1+ cnt))
(if (/= cnt NumberOfLine)
(setq lst (append lst (list line)))))
(close f)
(setq f (open file "w"))
(foreach atm lst (write-line atm f))
(close f)
)
怎么样才能在原文本文件的下一行追加记录呢?我试过以“A”打开好像不好使!
怎么不好使?
 楼主| 发表于 2004-6-27 16:29:00 | 显示全部楼层
就覆盖了呗!
发表于 2004-6-27 19:24:00 | 显示全部楼层
先移动到文件结尾,然后再开始添加,应该就没有问题了
 楼主| 发表于 2004-6-28 09:07:00 | 显示全部楼层
哦,对不起,我从来没有按过“是”,真的是在最后一行添加了!


可是怎么把这该死的对话框去掉呢?就是如果没有这个文件直接新建一个,不用弹出对话框。也不用询问是否覆盖。


还有,怎么新建一个文件夹呢?
发表于 2004-6-28 09:21:00 | 显示全部楼层
哪里要按是????你的程序呢?
 楼主| 发表于 2004-6-28 14:39:00 | 显示全部楼层
那个程序在家里,我明天带来,老版先看看这个,我刚学DCL,我哪里错了呢? dia:dialog{
label="AutoCAD螺旋线:";
:edit_box{
label="请输入螺旋线转角";
key="edit_a";
edit_width=6;
}
:edit_box{
label="请输入螺旋线底部半径";
key="edit_r";
edit_width=6;
}
:edit_box{
label="请输入螺旋线底顶部半径";
key="edit_d";
edit_width=6;
}
:edit_box{
label="请输入螺旋线高度";
key="edit_h";
edit_width=6;
}
ok_cancel;
} LISP (defun c:lx ()
(setvar "cmdecho" 0) ;关闭回显
(initget 1)
(setq b1 (getpoint "\n请输入插入点(螺旋线圆心):"))
(dcl_dia)
)
;|(initget 1)
(setq ang0 (getreal "\n请输入螺旋线的转角:"))
(initget 1)
(setq a (getreal "\n请输入螺旋线底部的半径:"))
(initget 1)
(setq b (getreal "\n请输入螺旋线顶部的半径:"))
(initget 1)
(setq h (getreal "\n请输入螺旋线的高度:"))|;
(defun ok_dia()
(setq ang0 (atof (get_tile "edit_a")))
(setq a (atof (get_tile "edit_r")))
(setq b (atof (get_tile "edit_d")))
(setq h (atof (get_tile "edit_h")))
(setq n (fix h))
(setq delt (/ (* (/ ang0 180) pi) n))
(setq j (/ h n))
(Setq ang 0)
(Setq jj 0)
(command "ucsicon" "or")
(command "ucs" "o" b1)
(command "3dpoly" (list a 0 0))
(repeat n
(setq jj (+ jj 1))
(Setq j1 (+ 0 (* jj j)))
(setq ang (+ delt ang))
(setq r (- a (/ (* j1 (- a b)) h)))
(setq pt2 (list (* r (cos ang)) (* r (sin ang)) (+ 0 (* j jj))))
(command pt2)
)
(command "")
(command "_view" "o" "F")
(princ "\n<CADghost R1.0> for AutoCAD2004 Chs ---- 螺旋线")
(princ)
)
 楼主| 发表于 2004-6-28 14:41:00 | 显示全部楼层
单运行LISP程序没问题,可是加在一起,就死机!
发表于 2004-6-28 15:17:00 | 显示全部楼层
“(dcl_dia)” 在哪里?没看到啊
发表于 2004-6-28 17:27:00 | 显示全部楼层
要截取程序部分,也应该截取完整的,,,,,自己先试了再贴上来,不要随便复制一块就往上贴


还有,你接的帖子是否跟我问的有关,还是新的问题?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-1 04:29 , Processed in 0.188178 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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