乐筑天下

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

[编程交流] 将VAR插入路径

[复制链接]

12

主题

61

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 08:13:44 | 显示全部楼层 |阅读模式
快一点。。。
 
是否可以将存储的VAR粘贴到路径中?即
 
I存储
 
(setq usr(getvar“LOGINNAME”))
 
稍后,我想将日志文件写入路径:
 
(setq f(“C:\\%usr%.txt”))
 
或者像这样的。。。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:23:41 | 显示全部楼层
我认为strcat函数可以帮你解决这个问题。
 
例如。
  1. (setq usr (getvar 'loginname))
  2. (setq f (strcat "C:\" usr ........ and so on
回复

使用道具 举报

12

主题

61

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 08:26:16 | 显示全部楼层
谢谢,我刚刚读了一些其他的例子,“strcat”跳了出来。
 
(只是写我的第一行代码……哎呀!)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:28:57 | 显示全部楼层
很高兴听到这个消息,如果你需要帮助,就闭嘴。
回复

使用道具 举报

12

主题

61

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 08:34:36 | 显示全部楼层
只是看看如何删除“.”(句号)来自用户名。我正在将一些文本输出到给定位置的文本文件,但文本文件名基于登录名。但是我不想要“monk.monk.txt”!
感谢指点。当我有它的工作,我会张贴起来!
回复

使用道具 举报

12

主题

61

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 08:40:21 | 显示全部楼层
工作至今!很可能会将其作为某个子程序。
 
  1. (defun C:saveSupportPaths (/ usr files paths f)
  2. (vl-load-com)
  3. (setq files (vla-get-files (vla-get-preferences (vlax-get-acad-object))))
  4. (setq paths (vla-get-supportpath files))
  5. (setq f (open (strcat "C:\\Users\\monk.monk\\Desktop\"(getvar "LOGINNAME")".txt")"w"))
  6. (write-line paths f)
  7. (close f)
  8. (princ)
  9. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:48:01 | 显示全部楼层
有很多方法可以实现这一点,这里只有一个:
 
这里是另一个:
 
  1. (vl-string-translate "." " " (getvar 'LOGINNAME))
回复

使用道具 举报

12

主题

61

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 08:50:08 | 显示全部楼层
谢谢李。(我现在经常使用你的网站!)
 
按照你的建议,我要一个肉店。我对上面代码的唯一想法是,如果路径不存在或不可用,会发生什么?程序是挂起还是停止?我需要添加错误部分吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:55:19 | 显示全部楼层
 
如果路径:
 
  1. "C:\\Users\\monk.monk\\Desktop"
不存在,当试图在不存在的路径上创建文本文件时,open函数将返回nil。
 
现在,由于变量“f”为nil,write line传递了一个null文件描述符参数,因此会将字符串写入命令行,而不是文件(因为文件描述符参数是可选的)。
 
但是,当传递空文件描述符时,关闭函数将出错:
 
为了避免这些错误,包括一个简单的条件语句:
 
当然,这不包括从文件路径字符串中删除无效字符的代码。
回复

使用道具 举报

12

主题

61

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 09:02:59 | 显示全部楼层
那位先生很完美。
 
我正在尽可能多地阅读。我正在使用你的网站,afralisp,visual lisp开发者圣经。你能想到其他资源吗?硬拷贝很好。我想要一个所有功能的参考/字典等,但那将是巨大的!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 09:29 , Processed in 0.794830 second(s), 72 queries .

© 2020-2025 乐筑天下

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