当前位置: 主页 > 百科 > 计算机编程 > 易语言源码 >
-20 Comments

易语言取文件属性信息模块

发布于:2016-07-03  |   作者:http://www.zxjsq.net  |   已聚集:人围观

.版本 2


.程序集 程序集1


.子程序 _启动子程序, 整数型


返回 (0)


.子程序 取文件详细属性, 文件属性结构, 公开

.参数 文件名, 文本型

.局部变量 FILE_ATTRIBUTE, WIN32_FILE_ATTRIBUTE_DATA

.局部变量 临时, FILETIME

.局部变量 临时2, SYSTEMTIME

.局部变量 返回值

.局部变量 临时结构, 文件属性结构


GetFileAttributesEx (文件名, 0, FILE_ATTRIBUTE)

' 取各种时间

FileTimeToLocalFileTime (FILE_ATTRIBUTE.ftCreationTime, 临时)

FileTimeToSystemTime (临时, 临时2)

临时结构.创建时间 = 指定时间 (临时2.wYear, 临时2.wMonth, 临时2.wDay, 临时2.wHour, 临时2.wMinute, 临时2.wSecond)

FileTimeToLocalFileTime (FILE_ATTRIBUTE.ftLastWriteTime, 临时)

FileTimeToSystemTime (临时, 临时2)

' 本源码来自易语言资源网(www.5A5X.com)

临时结构.最后修改时间 = 指定时间 (临时2.wYear, 临时2.wMonth, 临时2.wDay, 临时2.wHour, 临时2.wMinute, 临时2.wSecond)

FileTimeToLocalFileTime (FILE_ATTRIBUTE.ftLastAccessTime, 临时)

FileTimeToSystemTime (临时, 临时2)

临时结构.最后访问时间 = 指定时间 (临时2.wYear, 临时2.wMonth, 临时2.wDay, 临时2.wHour, 临时2.wMinute, 临时2.wSecond)

' 实际大小

RtlMoveMemory (lstrcpyn_长整形 (临时结构.大小, 临时结构.大小, 0) + 4, FILE_ATTRIBUTE.nFileSizeHigh, 4)

RtlMoveMemory (lstrcpyn_长整形 (临时结构.大小, 临时结构.大小, 0), FILE_ATTRIBUTE.nFileSizeLow, 4)

' 实际占用空间,其实就是按照4kb对齐来算的

.判断开始 (临时结构.大小 % 4096 > 0)

    临时结构.占用空间 = 临时结构.大小 \ 4096

    临时结构.占用空间 = 临时结构.占用空间 × 4096 + 4096

.默认

    临时结构.占用空间 = 临时结构.大小

.判断结束

返回值 = GetFileAttributes (文件名)

' 取文件属性,还可以加的,你们自己加了吧,常量值都在常量表里边了

临时结构.隐藏 = 位与 (返回值, #FILE_ATTRIBUTE_HIDDEN) ≠ 0

临时结构.只读 = 位与 (返回值, #FILE_ATTRIBUTE_READONLY) ≠ 0

临时结构.系统文件 = 位与 (返回值, #FILE_ATTRIBUTE_SYSTEM) ≠ 0

临时结构.存档 = 位与 (返回值, #FILE_ATTRIBUTE_ARCHIVE) ≠ 0

' 本源码来自易语言资源网(www.5A5X.com)

返回 (临时结构)


标签:                   喜欢:收藏