tzframpton 发表于 2022-7-5 20:24:37

哈哈,对不起,比尔。仅仅是提供一种替代资源就够了。 

Patrick Hughes 发表于 2022-7-5 20:27:39

 
 
我更喜欢“便宜”或“价格合理”这个词,但我喜欢多才多艺的,谢谢你提到坦纳。

Commandobill 发表于 2022-7-5 20:33:21

我相信这是一种更优雅的方式。。。
;;Author: Lee-Mac
;;Date: 01/27/10
;;Modified By:Commandobill
;;Date 04/21/15
;;Reason for change: Updated to make text file be in a static position instead of dynamic.
(defun TimeReac nil
(vl-load-com)
(if (not (vl-position "TIMEREACT"
   (mapcar (function strcase)
             (mapcar (function vlr-data)
                     (mapcar (function cadr)
                             (vlr-reactors :vlr-command-reactor))))))
   (progn
   (vlr-command-reactor "TIMEREACT"
(list
(cons :vlr-commandWillStart 'GetTime_C)
(cons :vlr-commandEnded 'GetTime_O)))
   
   (princ "\n<< Reactor Initiated >>"))
   
   (princ "\n<< Reactor Already Running >>"))

(princ))

(TimeReac)


(defun GetTime_O (Reactor Args)
(if (eq "OPEN" (strcase (car Args)))
   (GetTime))
(princ))


(defun GetTime_C (Reactor Args)
(if (eq "CLOSE" (strcase (car Args)))
   (GetTime))
(princ))


(defun GetTime (/ toDate *error* ofile)

(defun toDate (var format)
   (menucmd (strcat "m=$(edtime,$(getvar," var ")," format ")")))

(defun *error* (msg)
   (and ofile (close file))
   (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " msg " **")))
   (princ))

(if (setq ofile (open "C:\\Logfile.txt" "a"));;Location of change
   (progn
   (if (eq "CLOSE" (strcase (car Args)))
(write-line "ACTION: CLOSED" ofile)
(write-line "ACTION: OPENED" ofile))
   (write-line (strcat "DATE: " (toDate "DATE" "DD.MO.YY HH.MM.SS")) ofile)
   (write-line (strcat "DRAWING: " (getvar 'DWGPREFIX) (getvar 'DWGNAME)) ofile)
   
   
   (setq ofile (close ofile))))

(princ))



(defun c:TimeOFF (/ Reac)
(vl-load-com)
(if (and (setq Reac
          (car
          (vl-remove-if-not
              (function
                (lambda (x)
                  (eq "TIMEREACT" (strcase (vlr-data x)))))
              (mapcar (function cadr)
                      (vlr-reactors :vlr-command-reactor)))))
   (vlr-added-p Reac))
   (progn
   (vlr-remove Reac)
   (princ "\n<< Reactor Deactivated >>"))
   
   (princ "\n** Reactor Not Running **"))

(princ))

Commandobill 发表于 2022-7-5 20:34:43

 
哈我只是跟你开玩笑。我相信这是一个好节目。

JoeyG_77 发表于 2022-7-5 20:38:21

鲍勃,这太完美了!!!但是。。。有没有办法在每个分组之间添加空格=)这是我的代码。。做了一些调整
;;Author: Lee-Mac
;;Date: 01/27/10
;;Modified By:Commandobill
;;Date 04/21/15
;;Reason for change: Updated to make text file be in a static position instead of dynamic.
(defun TimeReac nil
(vl-load-com)
(if (not (vl-position "TIMEREACT"
(mapcar (function strcase)
(mapcar (function vlr-data)
(mapcar (function cadr)
(vlr-reactors :vlr-command-reactor))))))
(progn
(vlr-command-reactor "TIMEREACT"
(list
(cons :vlr-commandWillStart 'GetTime_C)
(cons :vlr-commandEnded 'GetTime_O)))
   
(princ "\n<< Reactor Initiated >>"))
   
(princ "\n<< Reactor Already Running >>"))

(princ))

(TimeReac)


(defun GetTime_O (Reactor Args)
(if (eq "OPEN" (strcase (car Args)))
(GetTime))
(princ))


(defun GetTime_C (Reactor Args)
(if (eq "CLOSE" (strcase (car Args)))
(GetTime))
(princ))


(defun GetTime (/ toDate *error* ofile)

(defun toDate (var format)
(menucmd (strcat "m=$(edtime,$(getvar," var ")," format ")")))

(defun *error* (msg)
(and ofile (close file))
(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " msg " **")))
(princ))

(if (setq ofile (open "C:\\Users\\Acad2015\\TimeLog\\Logfile.txt" "a"));;Location of change
(progn
(if (eq "CLOSE" (strcase (car Args)))
(write-line "ACTION: CLOSED" ofile)
(write-line "ACTION: OPENED" ofile))
(write-line (strcat "DATE: " (toDate "DATE" "MO.DD.YY ** HH.MM.SS")) ofile)
(write-line (strcat "DRAWING: " (getvar 'DWGPREFIX) (getvar 'DWGNAME)) ofile)
   
   
(setq ofile (close ofile))))

(princ))



(defun c:TimeOFF (/ Reac)
(vl-load-com)
(if (and (setq Reac
(car
(vl-remove-if-not
(function
(lambda (x)
(eq "TIMEREACT" (strcase (vlr-data x)))))
(mapcar (function cadr)
(vlr-reactors :vlr-command-reactor)))))
(vlr-added-p Reac))
(progn
(vlr-remove Reac)
(princ "\n<< Reactor Deactivated >>"))
   
(princ "\n** Reactor Not Running **"))

(princ))

JoeyG_77 发表于 2022-7-5 20:42:28

这是我收到的文件。。。现在
 
操作:打开
日期:04.21.15 15.22.02
图纸:X:\Churchill\Engineering\MasterBedroom208\Churchill\U MasterBedroom208\U Rev0。图纸
操作:打开
操作:打开
日期:04.21.15 TI4E 15.25.45
图纸:X:\Holliday 2\Engineering\Palor\Holliday\u Palor\u Rev0。图纸
操作:打开
日期:04.21.15**15.26.43
图纸:X:\Holliday 2\工程\客厅\ Holliday\u Palor\u SM。图纸
 
有没有办法让它看起来像下面这样。。。。
 
操作:打开
日期:04.21.15 15.22.02
图纸:X:\Churchill\Engineering\MasterBedroom208\Churchill\U MasterBedroom208\U Rev0。图纸
 
操作:打开
日期:04.21.15 TI4E 15.25.45
图纸:X:\Holliday 2\Engineering\Palor\Holliday\u Palor\u Rev0。图纸
 
操作:打开
日期:04.21.15**15.26.43
图纸:X:\Holliday 2\工程\客厅\ Holliday\u Palor\u SM。图纸

BIGAL 发表于 2022-7-5 20:43:32

另一个来看看Productivity_分析。lsp记录单个dwg,但即使在多天内,每个dwg也只有一个文件,并记录使用的命令等。

JoeyG_77 发表于 2022-7-5 20:49:31

我有我需要的一切。。。。但我只需要把它在日志中分开就行了。。。。。这一定很容易,但我只是不知道错过了什么。

Commandobill 发表于 2022-7-5 20:50:53

我忘记在代码中为新行添加“\n”。我的错。
7

JoeyG_77 发表于 2022-7-5 20:53:04

比尔,你是摇滚明星。。。这是完美的,有没有办法添加一个变量,将改变每天的日期。。。所以会有一个一周的日志列表,所以在这一天它会写入同一个文件,然后下一天它会在这一天做同样的事情。。
8
页: 1 [2]
查看完整版本: 时间记录。。。