乐筑天下

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

[求助][LISP]紧急求救

[复制链接]

8

主题

59

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2003-10-25 15:37:00 | 显示全部楼层 |阅读模式
怎么在字符窜里查找 规定的字母所在的位置  http://www.mjtd.com/function/list.asp?id=72&ordertype=byletter这个贴字虽然写了但是我看不懂   请教哪位高手给指点一下!!谢谢
还有怎么定义错误函数, 我的程序在执行中途被取消的时候, 剩下未执行的部分会被显示在命令行里!!请教怎么样才能消除这种情况!!我是个新手!!!
谢谢各位大侠的解答
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-10-25 15:45:00 | 显示全部楼层
未执行部分显示在命令行是什么意思?
错误函数就是*error*函数,你直接定义就可以了,程序出错时,系统就自动调用这个错误函数。
回复

使用道具 举报

8

主题

59

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2003-10-25 15:50:00 | 显示全部楼层
我用的是R14  我在执行程序的中途不得已 而取消了  这时候我编辑的程序内容 被显示在命令行里 这是怎么回事呀?
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-10-25 15:57:00 | 显示全部楼层
还是不明白,程序执行过程中出错,只会显示出错信息,怎么可能显示程序内容?
提供一个图看看,或者提供一段出错的程序,然后告诉我显示在命令行中的内容。
你说的那个函数,我做了一些注释,你看看,能否看懂
  1. (defun instr (str fnd)
  2.   (setq        str (strcase str T)
  3.         fnd (strcase fnd T)
  4.   );先将两个字符串都改为小写,这样,比较就不分大小写
  5.   (if (wcmatch str (strcat "*`" fnd "*"));判断字符串str中是否包含fnd字符串
  6.     (progn
  7.       (setq c 1)
  8.       (while (/= (setq s (substr str 1 (strlen fnd))) fnd);如果有,则循环,从第一位开始,取出与fnd相同长度的字符串,
  9.         ;与fnd比较,看是否相等,不等,则继续查找,
  10.         (setq str (substr str 2);将比较过不存在的第一位去掉,剩下其余部分
  11.               c          (1+ c)
  12.         )
  13.       );while结束
  14.     );progn结束
  15.     (setq c 0);如果str中不包含fnd字符串,则返回0
  16.   );if结束
  17.   c
  18. )
回复

使用道具 举报

8

主题

59

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2003-10-25 16:06:00 | 显示全部楼层
谢谢斑竹
我用的是R14
(defun C:fe(/ oce dr xf xff f1 f2 f3 f4 n d1 d2 d3 d4 l lx zl
           zz zd zdd m m1 m2 m3 e1 e2 e3  )
  (command "undo" "be")
  (setq oce (getvar "cmdecho"))
  (setvar "cmdecho" 0)
  (initget " 8 10 12 15 16 20 22 25")
  (setq dr(getkword "\n请输入钢筋型号:"))
  (if (= dr nil) (quit))
  (cond
    ( (= dr "8")  ( setq xf "0.395"))
    ( (= dr "10") ( setq xf "0.617"))
    ( (= dr "12") ( setq xf "0.888"))
    ( (= dr "15") ( setq xf "1.387"))
    ( (= dr "16") ( setq xf "1.580"))
    ( (= dr "20") ( setq xf "2.466"))
    ( (= dr "22") ( setq xf "2.980"))
    ( (= dr "25") ( setq xf "3.850"))
)
(setq xff (atof xf))
(while  
(setq f1 (entsel "\n请选择钢筋跟数:"))
(setq f2 (car f1))
(setq f3 (entget f2))
(setq f4 (cdr (assoc 1 f3)))
(setq n (atof f4))
(setq d1(entsel "\n请选择单根长度:"))
(setq d2 (car d1))
(setq d3 (entget d2))
(setq d4 (cdr (assoc 1 d3)))
(setq l  (atof d4))
(setq lx(* n l 0.01))
(setq zl(* lx xff))
(setq zz(rtos zl  2  2))
(setq ll(rtos lx 2 2))
(setq zd(cons 1 zz))
(setq m(cons 1 ll))
(prompt "\n总长度=")
(princ ll)
(setq m1(entsel "\n选择总长度:"))
(setq m2(car m1))
(setq m3(entget m2))
(setq mm(assoc 1 m3))
(setq m3 (subst m mm m3))
(entmod m3)
(prompt "\n总重量=")
(princ zz)
(setq e1(entsel "\n选择总重量:"))
(setq e2(car e1))
(setq e3(entget e2))
(setq zdd(assoc 1 e3))
(setq e3 (subst zd zdd e3))
(entmod e3)
)
  (setvar "cmdecho" oce)
(princ)
)
您把这个程序加载到 r14上 然后在中途取消 按下F2看看 就知道了 谢谢
回复

使用道具 举报

8

主题

59

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2003-10-25 16:13:00 | 显示全部楼层
还有请问斑竹 已知点P1 和 一条三维直线  怎么能找到 P1  到该直线上的垂足
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2003-10-25 16:17:00 | 显示全部楼层
这是R14的出错函数做的东西,它将这些东西打印出来了,你可以自己定义出错函数,
如,你先加载这个函数,再运行程序
(defun *error* (msg) (princ msg))
回复

使用道具 举报

8

主题

59

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2003-10-25 16:19:00 | 显示全部楼层
我用的是R14 这里的有些程序不能运行  在R14里 显示 null function  是不是用vb 编辑的 R14不默认
我是今年刚刚毕业的  现从事设计工作
回复

使用道具 举报

8

主题

59

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2003-10-25 16:27:00 | 显示全部楼层
非常谢谢斑竹的光临  谢谢你的解答
回复

使用道具 举报

8

主题

59

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2003-10-25 16:46:00 | 显示全部楼层
斑竹怎么我把上面的程序加载上去 无法执行 是怎么搞的  这在R14上默认
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-5 23:11 , Processed in 0.575921 second(s), 72 queries .

© 2020-2025 乐筑天下

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