| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2510 人关注过本帖
标题:在VFP中如何获取文件的创建日期?
只看楼主 加入收藏
ZPJ
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-4-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
在VFP中如何获取文件的创建日期?
在VFP中可用FDATE()函数获取文件的最后一次修改日期,但不知如何获取文件的创建日期,有知客请请回答,在这里我千恩万谢了!
搜索更多相关主题的帖子: 如何 
2013-04-14 18:42
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:10 
http://bbs.

坚守VFP最后的阵地
2013-04-14 19:41
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
可以通过ADIR()函数获得文件夹内的详细内容。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-04-14 20:54
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用hu9jj在2013-4-14 20:54:12的发言:

可以通过ADIR()函数获得文件夹内的详细内容。
ADIR( ) 函数
示例 请参阅

将文件信息存放到数组中,然后返回文件个数。

语法

ADIR(ArrayName [, cFileSkeleton [, cAttribute [, cCreatorType]]])

参数
ArrayName

指定数组名。如果数组不存在,Visual FoxPro 将自动创建此数组。如果数组存在,但其大小不足以包含所有信息,则 Visual FoxPro 自动增加数组大小,使得数组能容纳所有信息。如果数组超过了所需大小,Visual FoxPro 将截掉多余部分。如果数组存在,并且 ADIR( ) 函数由于没找到匹配文件而返回 0,则数组保持不变。如果数组不存在,并且 ADIR( ) 函数返回零,则不创建数组。


下表说明了数组中每列的内容及其数据类型:

列 数组内容 数据类型
1 文件名 字符型
2 文件大小 数值型
3 文件最后修改日期 日期型
4 文件最后修改时间 字符型
5 文件属性 字符型

坚守VFP最后的阵地
2013-04-14 21:03
ZPJ
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-4-14
收藏
得分:0 
在这里先谢谢各位了!
但我的问题是在VFP中如何获取文件的创建日期,而不是修改日期,请帮忙再想想。
2013-04-15 13:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你用红雨老师那个得不到吗?

授人以渔,不授人以鱼。
2013-04-15 13:28
XCJSQ
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2013-4-15
收藏
得分:0 
回复  TonyDeng
谁是红雨老师?
能具体点吗?
2013-04-15 13:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
2楼链接里那个呀

授人以渔,不授人以鱼。
2013-04-15 13:36
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:10 
你没看2楼的连接?

抄红雨老师的


Clea
#Define BYTE_2               256
#Define OF_READ                0
#Define OF_SHARE_DENY_NONE    64
#Define HFILE_ERROR           -1
#Define dwordPlus     4294967296

Declare Integer GetFileTime In kernel32 ;
    Integer hFile, ;
    string @lpCreationTime, ;
    string @lpLastAccessTime, ;
    string @lpLastWriteTime
Declare Integer FileTimeToLocalFileTime In kernel32 ;
    string  lpFileTime, ;
    string @lpLocalFileTime
Declare INTEGER FileTimeToSystemTime IN kernel32 ;
    STRING  FILETIME,;
    STRING @SYSTEMTIME
Declare INTEGER OpenFile IN kernel32 ;
    STRING  lpFileName,;
    STRING @lpReOpenBuff,;
    INTEGER wStyle
Declare INTEGER CloseHandle IN kernel32 INTEGER hObject

Local lpCreationTime, lpLastAccessTime, lpLastWriteTime, lcFilename, hFile, FileTimeBuffer
lpCreationTime = space( 8 )
lpLastAccessTime = space( 8 )
lpLastWriteTime = space( 8 )
lcFilename = getfile("", "选择文件", "选定", 1)
lpReOpenBuff = REPLI (Chr(0), 250)
hFile = OpenFile (lcFilename, @lpReOpenBuff, OF_SHARE_DENY_NONE)
= GetFileTime( hFile, @lpCreationTime, @lpLastAccessTime, @lpLastWriteTime )
= CloseHandle (hFile)

? "文件: " + lcFilename
? "创建时间: ", transformFiletime(lpCreationTime)
? "访问时间: ", transformFiletime(lpLastAccessTime)
? "改写时间: ", transformFiletime(lpLastWriteTime)
Retu

*--------------------------------
Function transformFiletime
    Lparameters LpFileTime
    Local SystemTimeBuffer, FileTimeBuffer
    FileTimeBuffer = space(8)
    = FileTimeToLocalFileTime( LpFileTime, @FileTimeBuffer )
    SystemTimeBuffer = SPACE(16)
    fResult = FileTimeToSystemTime(FileTimeBuffer, @SystemTimeBuffer)

    If fResult = 0
        ldDateTime = {^1901/01/01 00:00:01}
    Else
        lnYear = ASC(SUBSTR(SystemTimeBuffer, 1, 1)) + (ASC(SUBSTR(SystemTimeBuffer, 2, 1))* BYTE_2)
        lnMonth = ASC(SUBSTR(SystemTimeBuffer, 3, 1)) + (ASC(SUBSTR(SystemTimeBuffer, 4, 1))* BYTE_2)
        lnDay = ASC(SUBSTR(SystemTimeBuffer, 7, 1)) + (ASC(SUBSTR(SystemTimeBuffer, 8, 1))* BYTE_2)
        lnHour = ASC(SUBSTR(SystemTimeBuffer, 9, 1)) + (ASC(SUBSTR(SystemTimeBuffer, 10, 1))* BYTE_2)
        lnMinute = ASC(SUBSTR(SystemTimeBuffer, 11, 1)) + (ASC(SUBSTR(SystemTimeBuffer, 12, 1))* BYTE_2)
        lnSecond = ASC(SUBSTR(SystemTimeBuffer, 13, 1)) + (ASC(SUBSTR(SystemTimeBuffer, 14, 1))* BYTE_2)
        lcBuild = "^" + ALLTRIM(STR(lnYear)) ;
            + "/" + ALLTRIM(STR(lnMonth)) ;
            + "/" + ALLTRIM(STR(lnDay)) ;
            + " " + ALLTRIM(STR(lnHour)) ;
            + ":" + ALLTRIM(STR(lnMinute)) ;
            + ":" + ALLTRIM(STR(lnSecond))
        ldDateTime = {&lcBuild}
    Endif
    Return ldDateTime
Endfunc
2013-04-15 13:37
XCJSQ
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2013-4-15
收藏
得分:0 
谢谢!
2013-04-15 13:46
快速回复:在VFP中如何获取文件的创建日期?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025587 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved