明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3171|回复: 9

[求助]LSP语言如何获取文件夹时间属性?

[复制链接]
发表于 2008-10-19 16:05:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-10-19 16:05:19 编辑

LSP语言如何获取文件夹时间属性?
在LSP语言中有获取文件时间属性的命令(命令:vl-file-systime ),求教各位,LSP语言如何获取文件夹时间属性?
发表于 2008-10-19 19:56:00 | 显示全部楼层

使用WIN API

DateCreated 属性

返回指定的文件或文件夹的创建日期和时间。只读。

object.DateCreated

object 应为 File 或 Folder 对象的名称。

说明

以下代码举例说明如何使用 DateCreated 属性:

Function ShowFileInfo(filespec)
  Dim fso, f
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFile(filespec)
  ShowFileInfo = "创建:" & f.DateCreated
End Function
发表于 2008-10-19 20:37:00 | 显示全部楼层

DateLastModified 属性

返回指定的文件或文件夹的上次修改日期和时间。只读。

object.DateLastModified

object 应为 File 或 Folder 对象的名称。

说明

以下代码举例说明如何使用 DateLastModified 属性:

Function ShowFileAccessInfo(filespec)
    Dim fso, f, s
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filespec)
    s = UCase(filespec) & "<BR>"
    s = s & "创建时间:" & f.DateCreated & "<BR>"
    s = s & "上次访问时间:" & f.DateLastAccessed & "<BR>"
    s = s & "上次修改时间:" & f.DateLastModified
		
ShowFileAccessInfo = s 
End Function
发表于 2008-10-19 21:25:00 | 显示全部楼层

转为lisp:


(defun c:test ( / path fso folder dd)
  (setq path (my-browse-folder "请选择一个文件夹" ""))

  (setq fso (vlax-Create-Object "Scripting.FileSystemObject"))
 
  (setq folder (vlax-invoke-method fso 'GetFolder path))
  (vlax-dump-object folder t)
  (setq dd (vlax-get-property folder 'DateCreated))
)

(defun my-browse-folder (msg path / sh fld folderobject result)
  (vl-load-com)
  (setq sh (vla-getInterfaceObject (vlax-get-acad-object)
      "Shell.Application"))
  (setq fld (vlax-invoke-method sh 'BrowseForFolder
       0
       msg ; dialogue box message
       512 ; BIF_NONEWFOLDERBUTTON
;;;       path ; path start
       )
 )
  (vlax-release-object sh)
  (if fld
    (progn
      (setq folderobject (vlax-get-property fld 'Self))
      (setq result (vlax-get-property FolderObject 'Path))
      (vlax-release-object fld)
      (vlax-release-object folderobject )
      result
      )
  );if
)

 楼主| 发表于 2008-10-19 21:38:00 | 显示全部楼层
非常感谢!!!!
发表于 2008-10-20 00:21:00 | 显示全部楼层
本帖最后由 作者 于 2008-10-20 13:08:44 编辑
  1. (defun c:test()
  2.   (setq fn "点击保存确认目录选择")
  3.   (setq path (vl-prin1-to-string (vl-string-right-trim fn (getfiled "选择目录" fn " " 1))))
  4.   (vla-eval (vlax-get-acad-object)
  5.     (strcat "thisdrawing.SetVariable "USERS1",(CStr (CreateObject("Scripting.FileSystemObject").Getfolder(" path ").DateCreated))"))
  6.   (getvar "USERS1")
  7. )
  1. 命令: TEST
  2. "2008-6-6 21:51:19"
复制代码
  1. (defun c:test2()
  2.   (vl-load-com)
  3.   (setq MSSC (vlax-create-object "MSScriptControl.ScriptControl"))
  4.   (vlax-put MSSC "Language" "VBScript")
  5.   (setq str
  6. "Set shell = CreateObject("Shell.Application")
  7. Set selFolder = shell.BrowseForFolder(0, "选择目录", 0, 512)
  8. selPath = selFolder.Self.Path
  9. ret = CStr(CreateObject("Scripting.FileSystemObject").Getfolder(selpath).DateCreated)
  10. msgbox ret")
  11.   (vlax-invoke-method MSSC 'EXECUTESTATEMENT STR)
  12.   (setq STR (vlax-invoke MSSC 'eval "ret"))
  13.   (vlax-release-object MSSC)
  14.   STR
  15. )
  1. 命令: TEST2
  2. "2008-3-19 1:47:01"
复制代码
命令名改为PATHDate和PATHDate2,源码打包下载:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2008-10-20 06:54:00 | 显示全部楼层
hen hao xiexie !
发表于 2009-3-15 19:40:00 | 显示全部楼层
很好,顶起来吧。
发表于 2013-11-4 18:12:52 | 显示全部楼层
狂刀无痕 发表于 2008-10-20 00:21
命令名改为PATHDate和PATHDate2,源码打包下载:

不过的源码,谢谢分享
发表于 2013-11-4 22:57:25 | 显示全部楼层
很不错,支持狂刀。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-10-1 21:43 , Processed in 0.157562 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表