乐筑天下

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

[编程交流] 帮助制作字符串

[复制链接]

12

主题

40

帖子

28

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 09:50:05 | 显示全部楼层 |阅读模式
大家好。我在构造字符串时有点麻烦。我的代码运行得很好,除了一件小事。我希望字符串的中间部分是一个变量,由用户在代码的前面设置,或者读取另一个用户变量。
 
以下是我目前的代码:
  1. (defun C:titld (/ strRevv )
  2. ;'  (vl-load-com)
  3. (SETQ RV (GETVAR "USERI5"))
  4. (IF (= RV 0)(setVAR "USERI5" (getint "\nEnter Current Revision Number: ")))
  5. (setq pt (getpoint "\Select Insertion Point: "))
  6. (setq strRevv (getvar "useri5"))
  7. (setq date (strcat "%<[url="file://acsm/"]\\AcSm[/url] SheetSet.REV " "04" " DATE [url="file://f/"]\\f[/url] "%tc1">%"))
  8. (setq desc (strcat "%<[url="file://acsm/"]\\AcSm[/url] SheetSet.REV " "04" " DESCRIPTION [url="file://f/"]\\f[/url] "%tc1">%"))
  9. (setq initial (strcat "%<[url="file://acsm/"]\\AcSm[/url] SheetSet.REV " "04" " INITIALS [url="file://f/"]\\f[/url] "%tc1">%"))
  10. ;(setq date (strcat "rev " strrevv " INITIALS"))
  11. (COMMAND "-insert" "rev1t40-d" pt "" "" "" strrevv date desc initial)()
  12. )

 
请注意,在每个日期、描述、初始行中都有“04”。我希望能够使用存储在strRevv变量中的值,并从该数字中生成字符串。这可能吗?
 
提前感谢您的时间!
回复

使用道具 举报

11

主题

98

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 10:31:27 | 显示全部楼层
对于这个字符串部分,您可以替换为
 
  1. (getint ...... )

 
具有
 
  1. (getstring ......)

 
除非您要求它是整数,在这种情况下,您可以使用
 
  1. (rtos <integer value> 2 0)

 
至于setvar;你不能用SETQ代替SETVAR吗?存储变量。如果在调用此函数之前设置,则始终可以使用全局变量。
 
希望这有帮助,
索利弗
回复

使用道具 举报

12

主题

40

帖子

28

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-6 10:57:11 | 显示全部楼层
感谢您的超快回复!事实上,我在发布这篇文章后大约10秒就找到了答案。至于SETVAR,我需要使用它,因为我对其他命令也使用相同的值。
 
我试图将一个整数粘贴到字符串中,但autocad不喜欢它,所以我在其中添加了一行(itoa),以及一个IF来检查数字,如果数字小于10,则以零作为前缀。
 
非常感谢您抽出时间回复!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:13 , Processed in 0.528967 second(s), 58 queries .

© 2020-2025 乐筑天下

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