ftLastWriteTime : 가장최근에 변경된 날짜.. 입니다..
function FileAge(const FileName: string): Integer;
{$IFDEF MSWINDOWS}
var
Handle: THandle;
FindData: TWin32FindData;
LocalFileTime: TFileTime;
begin
Handle := FindFirstFile(PChar(FileName), FindData);
if Handle <> INVALID_HANDLE_VALUE then
begin
Windows.FindClose(Handle);
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
begin
FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
if FileTimeToDosDateTime(LocalFileTime, LongRec(Result).Hi,
LongRec(Result).Lo) then Exit;
end;
end;
Result := -1;
end;
왕초보 님이 쓰신 글 :
: 넘감사합니다. 근데요. 또 궁굼한게요... 아래의 함수말고...
: FileAge(FileName); 이라는 API(?) 함수가 있는거 같은데 차이가 뭔가요??
:
: 류종택 님이 쓰신 글 :
: : 아래에서..
: : SearchRec.FindData.ftLastAccessTime --> SearchRec.FindData.ftCreationTime
: : 와 같이 치환해서 사용하시면 됩니다..
: : 도스 때 제공하던 함수도 있을텐데..
: : 못찾겠네요..
: :
: : 그럼..
: :
: : Function GetFileLastAccess(FileName:String):TDateTime;
: : Var
: : DT : TFileTime;
: : ST : TSystemTime;
: : Success : Integer;
: : SearchRec : TSearchRec;
: : Begin
: : Success:= FindFirst(FileName, faAnyFile, SearchRec);
: : If (Success = 0) then // and
: : // ((TLargeInteger(SearchRec.FindData.ftLastAccessTime).LowPart <> 0) or
: : // (TLargeInteger(SearchRec.FindData.ftLastAccessTime).HighPart <> 0))) then
: : Begin
: : FileTimeToLocalFileTime(SearchRec.FindData.ftLastAccessTime, DT);
: : FileTimeToSystemTime(DT, ST);
: : Result:= SystemTimeToDateTime(ST);
: : End
: : Else FillChar(Result, SizeOf(Result), $00);
: : SysUtils.FindClose(SearchRec);
: : end;
: :
: :
: :
: : 왕초보 님이 쓰신 글 :
: : : 안녕하십니까? 델파이 초보자 입니다.
: : :
: : : 현재 실행되고 있는 프로그램의 폴더 아래 여러개의 text 화일이 있습니다.
: : : 그중 가장 나중에 생성된 text 화일(생성일자가 최근)을 가져오고 싶은데 어떻게 구현을 해야하나요?
|