乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 115|回复: 9

还是文字读写的问题

[复制链接]

62

主题

938

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1186
发表于 2004-6-27 09:14:00 | 显示全部楼层 |阅读模式
怎么样才能在原文本文件的下一行追加记录呢?我试过以“A”打开好像不好使!
还有怎么样才能任意删除第N行数据呢?
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 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)
)
        怎么不好使?
回复

使用道具 举报

62

主题

938

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1186
发表于 2004-6-27 16:29:00 | 显示全部楼层
就覆盖了呗!
回复

使用道具 举报

11

主题

54

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
98
发表于 2004-6-27 19:24:00 | 显示全部楼层
先移动到文件结尾,然后再开始添加,应该就没有问题了
回复

使用道具 举报

62

主题

938

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1186
发表于 2004-6-28 09:07:00 | 显示全部楼层
哦,对不起,我从来没有按过“是”,真的是在最后一行添加了!
可是怎么把这该死的对话框去掉呢?就是如果没有这个文件直接新建一个,不用弹出对话框。也不用询问是否覆盖。
还有,怎么新建一个文件夹呢?
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-28 09:21:00 | 显示全部楼层
哪里要按是????你的程序呢?
回复

使用道具 举报

62

主题

938

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1186
发表于 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 for AutoCAD2004 Chs ---- 螺旋线")
         (princ)
         )
回复

使用道具 举报

62

主题

938

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1186
发表于 2004-6-28 14:41:00 | 显示全部楼层
单运行LISP程序没问题,可是加在一起,就死机!
回复

使用道具 举报

17

主题

80

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
148
发表于 2004-6-28 15:17:00 | 显示全部楼层
“(dcl_dia)”
在哪里?没看到啊
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-28 17:27:00 | 显示全部楼层
要截取程序部分,也应该截取完整的,,,,,自己先试了再贴上来,不要随便复制一块就往上贴
还有,你接的帖子是否跟我问的有关,还是新的问题?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-18 19:21 , Processed in 0.589499 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表