找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3572|回复: 12

[LISP程序]:由全路径和文件名返回不带扩展名的文件名

[复制链接]
发表于 2002-7-22 07:41:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
各位帮忙调试下列程序,为什么运行不正确,请帮忙修改或调试,谢谢!

  

;;;==================================================================
;;; (JustStem cFileName)
;;;                由全路径和文件名返回不带扩展名的文件名。
;;;------------------------------------------------------------------
;;; 参数:
;;;                cFileName                str 要检查的完整路径
;;;------------------------------------------------------------------
;;;        返回:
;;;                [STR]       
;;;                示例:         (setq a "C:\\MyFolder\\MyFile.txt")
;;;                                        (JustStem a) ; 返回 "MyFile"
;;;------------------------------------------------------------------
(defun JustStem        (cFileName / fName DotLoc)
        (setq fName (justFName cFileName))
        (setq DotLoc (rat "." fName))
        (if        (> DotLoc 0)
                (substr fName 1 (1- DotLoc))
                fName
        ) ;_ end of if
) ;_ end of defun
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-7-22 10:38:02 | 显示全部楼层
去看看doslib的帮助或者vl的帮助,找找看什么现成的。

函数中的rat是什么?试试strcat
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-22 10:46:10 | 显示全部楼层

RAT函数,我也不知道是什么

我不想用DOSLIB,能否请CY956帮忙把程序修改一下,然后实现此功能?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 444个

财富等级: 日进斗金

发表于 2002-7-23 07:18:17 | 显示全部楼层
RAT肯定是另外一个程序。你的程序没有贴全或是也有API的存在。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-7-23 22:36:40 | 显示全部楼层
最初由 YueFeng 发布
[B]RAT肯定是另外一个程序。你的程序没有贴全或是也有API的存在。 [/B]


还有个 "justFName" 也不知是什么东东?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-7-23 22:53:50 | 显示全部楼层

摘自明经论坛的一例

;;;FOR R14
;;;usage: (mm "c:\\file.txt")
;;;usage: (mm "c:\\folder")
(defun MM (A / N1 N2 N3 AA)
  (defun DO_IT (BB /)
    (setq N2 BB)
    (while (/= "\\" (substr A N2 1))
      (setq N2 (1- N2))
    )
    (setq AA (substr A (+ N2 1) (- BB N2)))
  )
  (setq N1 (strlen A))
  (setq N3 N1)
  (while (and (/= N1 0) (/= "." (substr A N1 1)))
    (setq N1 (1- N1))
  )
  (if (/= N1 0)
    (DO_IT (- N1 1))
    (DO_IT N3)
  )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-23 23:11:20 | 显示全部楼层
XDRX_API里面的函数XDRX_SPLPATH可以方便的做,示例:

命令: (xdrx_splpath "c:\\program files\\acad.exe")
("c:" "\\program files\\" "acad" ".exe")

剩下,需要哪个,用STRCAT连接起来就可以了。

XDRX_API里面有函数600多个,面向应用。可以说是现在世界上最好的几个API之一。

XDRX_API中的字符串处理函数,实现了MFC库中所有的功能最强的字符串处理,大家可以看看API的帮助手册。

使用XDRX_API编写LISP程序是件惬意的工作。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-24 12:12:16 | 显示全部楼层

晓东版主,谢谢您!

您的API我到现在还不太了解,是个很大的函数库吧?都是用什么工具编写的?好象都是ARX程序吧,我现在只会点lisp开发语言,所以,我想尽量自己来开发一些东西,这样也好在老板面前展示一下自己的能力,至于其他开发方法,我以后是肯定要学的,但现在能力有限啊,连编个很小的程序都要到这里来让大家帮忙,我还要继续努力下去,以后麻烦大家的事多着呢,大家可别嫌我烦哦,这里真是个学习的好地方。除了周末,我基本每天都挂在这里。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-24 12:35:25 | 显示全部楼层

Re: 晓东版主,谢谢您!

最初由 jtybzl 发布
[B]您的API我到现在还不太了解,是个很大的函数库吧?都是用什么工具编写的?好象都是ARX程序吧,我现在只会点lisp开发语言,所以,我想尽量自己来开发一些东西,这样也好在老板面前展示一下自己的能力,至于其他开发方... [/B]


XDRX_API是用ARX语言开发的供LISP程序员使用的面向应用的函数库,你不需要ARX知识,就如你写普通的LISP程序一样,调用ADESK提供的LISP函数,你只要给函数的参数,函数就会有返回值给你一样。

API里面有详细的CHM帮助手册,里面可以查找每个函数的用法。

用它,就当是ACAD自身的LISP语言的扩展,你还需要自己写LISP代码,只是使用API,可以大大节省你开发的时间,不影响你在老板面前暂时自己的能力。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-24 12:41:00 | 显示全部楼层

好,我明白了,晓东版主。

好,我明白了,晓东版主。在本主页上可以找到XDAX及API吧?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-7-24 12:57:17 | 显示全部楼层

Re: 好,我明白了,晓东版主。

最初由 jtybzl 发布
[B]好,我明白了,晓东版主。在本主页上可以找到XDAX及API吧? [/B]


网站的首页,下载中心更新的里面,就有630版本的下载链接。

安装“晓东工具箱”后,也会有。

以后有API方面的问题,请直接到“XDRX_API技术支持”论坛发贴吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-7-24 13:04:07 | 显示全部楼层

好的,我就去下载

好的,我就去下载
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2021-2-5 01:43:46 | 显示全部楼层
(vl-filename-base  filename)  这个函数就能搞定啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 08:41 , Processed in 0.320121 second(s), 54 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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