乐筑天下

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

[编程交流] 字符串需要帮助。。。

[复制链接]

4

主题

19

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 10:36:48 | 显示全部楼层 |阅读模式
我正在帮助一位朋友开发一个程序,该程序将某些信息记录在word文件中,它将以军用时间显示时间,而他更希望以标准时间显示。所以我想我可以修复它,但我坚持这个strcat函数。如果有人能帮忙,我将不胜感激。问题如下:
 
 
(defun c:轨迹(/V1 TM TIME MO DAY YR hour minute DATE LN DP DN TX)
(setq DES(getstring T“\n输入所执行工作的简要描述:”)
(setq V1(menucmd“M=$(edtime,$(getvar,date),DDDD)”)
TM(menucmd“M=$(edtime,$(getvar,date),hh:mm:ss)”)
MO(menucmd“M=$(edtime,$(getvar,date),MOnth)”)
日(menucmd“M=$(edtime,$(getvar,date),DD)”)
YR(menucmd“M=$(edtime,$(getvar,date),yyyy)”)
小时(ATOI(substr TM 1 2))
分钟(atoi(substr TM 3 2))
;;; 日期(ATOI(strcat V1”,“MO”,“DAY”,“YR))
)
(条件
((
(>12小时)(setq时间(-12小时)))
);康德
;;;(setq DATE(itoa(strcat V1”,“MO”“DAY”“YR”“TIME:“分钟)))
 
(setq日期(strcat V1”,“MO”“DAY”“YR”“TIME MINUTE))
(setq LN(getvar“loginname”))
(setq DP(getvar“dwgprefix”))
(setq DN(getvar“dwgname”))
(setq TX(打开“c:\\logs\\track.txt”“a”)
(写入行“TX”)
(写入行“------------------------------”TX)
(写入行“TX”)
(写入行日期TX)
(写入行LN TX)
(写入线DP-TX)
(写入线DN TX)
(写入行“TX”)
(写行“描述:”TX)
(写入行DES TX)
(关闭TX)
(普林斯)
);eop
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:50:11 | 显示全部楼层
给这个一个投篮搭档:
 
  1. (defun c:track ( / Desc f )
  2. ;; © Lee Mac 2010  
  3. (setq Desc (getstring t "\n Enter Brief Description of Work Performed: "))
  4. (cond ( (setq f (open "c:\\logs\\track.txt" "a"))
  5.         
  6.          (mapcar '(lambda ( s ) (write-line s f))
  7.            (list "" "-----------------------------------" "" (toDate "DDDD MO.DD.YYYY HH:MM")
  8.              (getvar 'loginname) (strcat (getvar 'dwgprefix) (getvar 'dwgname)) "" "Description: " Desc
  9.            )
  10.          )
  11.          (close f)
  12.        )
  13. )
  14. (princ)
  15. )
  16. (defun toDate ( format ) (menucmd (strcat "m=$(edtime,$(getvar,DATE)," format ")")))

 
您的问题是将小时和分钟转换回字符串。
 
顺便说一句,请记住代码假设文件夹“logs”存在-也许可以查看vl mkdir
 
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:59:45 | 显示全部楼层
哦,看看这里:
 
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
回复

使用道具 举报

4

主题

19

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:07:38 | 显示全部楼层
谢谢你的提示。。。
你给的节目效果很好,除了我
想把军事时间改为
标准时间。。。仅适用于out put,例如:从13:48到1:48。
如果我们可以将小时作为一个变量,那么:
  1. (cond
  2.      ((< HOUR 12) (setq TIME HOUR))
  3.      ((> HOUR 12) (setq TIME (- HOUR 12)))
  4.   );cond

可以用来改变它。
-谢谢
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:16:49 | 显示全部楼层
我更喜欢“军事时间”
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:20:25 | 显示全部楼层
  1. (defun c:track ( / Desc f )
  2. ;; © Lee Mac 2010  
  3. (setq Desc (getstring t "\n Enter Brief Description of Work Performed: "))
  4. (cond ( (setq f (open "c:\\logs\\track.txt" "a"))
  5.         
  6.          (mapcar '(lambda ( s ) (write-line s f))
  7.            (list "" "-----------------------------------" ""
  8.              (strcat (toDate "DDDD MO.DD.YYYY") " "
  9.                ((lambda ( h ) (itoa (if (< 12 h) (- h 12) h))) (atoi (toDate "HH"))) (toDate ":MM")
  10.              )
  11.              (getvar 'loginname) (strcat (getvar 'dwgprefix) (getvar 'dwgname)) "" "Description: " Desc
  12.            )
  13.          )
  14.          (close f)
  15.        )
  16. )
  17. (princ)
  18. )
  19. (defun toDate ( format ) (menucmd (strcat "m=$(edtime,$(getvar,DATE)," format ")")))
回复

使用道具 举报

4

主题

19

帖子

15

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 11:30:42 | 显示全部楼层
哇!很好,它工作了。。。非常感谢。。。有网上景点吗
或者你可以参考我的书来了解更高级的编程???
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:43:07 | 显示全部楼层
不客气伙计
 
我在这里发布了一系列链接,其中一些可能有用:
http://www.cadtutor.net/forum/showthread.php?49515-有用的LISP链接
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 17:17 , Processed in 0.368796 second(s), 68 queries .

© 2020-2025 乐筑天下

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