乐筑天下

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

[编程交流] 需要修改:(setq Ful)

[复制链接]

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 10:24:58 | 显示全部楼层 |阅读模式
你好,
 
在我的一段代码中有这样一行:
  1. (setq FullFile (cons (strcat Path "\" File) FullFile))

 
最后它返回:
  1. "c:\program file\marcow\\test.lsp"

 
这显然是不好的,因为
  1. ""
之前
  1. "test.lsp"
应该是一个。
 
现在,如果我删除这部分“\\”它不起作用,如下所示:
 
  1. (setq FullFile (cons (strcat Path File) FullFile))

 
因为我正在学习,我只想知道我是否需要搜索其他地方来修改我的代码。。。
 
我发现当我修改这个时:
  1. >options>tab files>support file search paths>marcow\
  1. >options>tab files>support file search paths>marcow

 
我根本不需要修改代码,但由于我所有的支持文件搜索路径都以一个“\”结尾,我想我需要保持这种方式。。。。
 
这让我感到困扰,但我不知道,请给我一个提示
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
310
发表于 2022-7-6 10:39:29 | 显示全部楼层
试试这样的
  1. (setq test (strcat (getvar 'roamablerootprefix) "Support\" "test.lsp"))

 
另一个测试。。。
 
  1. (getfiled "Test" "" "lsp"

 
注意两个都是用双反斜杠返回的
回复

使用道具 举报

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 10:46:22 | 显示全部楼层
丹的腿:谢谢你的回复。
 
不幸的是,我不明白你的意思。
我注意到他们用了两个反斜杠。
 
这是我的问题:
“C:\program files\marcow\user\\marcow\u linetypes.lin”:文件名无效。
 
应该全部是双反斜杠吗?
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
310
发表于 2022-7-6 10:54:33 | 显示全部楼层
是的,他们应该这样做。原谅我,我不太清楚。我正在做的事情
 
这对你有用吗?
 
  1. (setq fullfile (findfile file))

 
假设此文件位于支持路径中
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 11:07:05 | 显示全部楼层
“path”变量来自哪里?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:12:53 | 显示全部楼层
  1. (strcat (vl-string-translate "\" "\\\" Path) "\" file)
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 11:22:08 | 显示全部楼层
 
对AutoCAD需要LISP中的双反斜杠。。。
 
例如:
 
  1. "C:\\program files\\marcow\\user\\marcow_linetypes.lin"

 
 
*除非*您使用单正斜杠。
 
例如:
 
  1. Command: (findfile "C:/program files/marcow/user/marcow_linetypes.lin")
  2. "C:\\program files\\marcow\\user\\marcow_linetypes.lin"

 
 
然而,通常使用双反斜杠。
回复

使用道具 举报

59

主题

327

帖子

268

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
295
发表于 2022-7-6 11:29:40 | 显示全部楼层
大家好,
 
我一直在寻找为什么它在我的程序的前一个版本中一直有效,而不再有效。
最后,我发现我当前在“选项”>“文件”>“支持文件搜索路径”>“中的支持文件搜索路径都以反斜杠结束。
我以前的程序最后没有反斜杠。
 
我只是删除了所有的反斜杠,似乎没有更多的问题。
问题是第三个反斜杠。
由于缺少反斜杠,我没有遇到更多的问题,所以我认为现在可以了。
 
感谢所有提供的帮助!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 22:11 , Processed in 0.476170 second(s), 68 queries .

© 2020-2025 乐筑天下

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