이러한 속성을 정수 값으로 가져 오려고합니다.Delphi에서 파일의 생성/마지막 수정 날짜를 얻는 방법?
답변
Delphians는 FindFirst 방식 (SearchRec 구조 중 일부가 있음)을 좋아하지만 GetFileAttributesEx라는 Win32 API 함수를 제안합니다.
GetFileInformationByHandle winapi 함수를 호출 할 수 있습니다. Aparently JCL 당신은 또한
은 SysUtils를에서
function FileAge(const FileName: string; out FileDateTime: TDateTime): Boolean;
시도 사용할 수있는 GetFileLastWrite 기능이 있습니다. 이 일을해야
function DSiFileTimeToDateTime(fileTime: TFileTime; var dateTime: TDateTime): boolean;
var
sysTime: TSystemTime;
begin
Result := FileTimeToSystemTime(fileTime, sysTime);
if Result then
dateTime := SystemTimeToDateTime(sysTime);
end; { DSiFileTimeToDateTime }
function DSiGetFileTimes(const fileName: string; var creationTime, lastAccessTime,
lastModificationTime: TDateTime): boolean;
var
fileHandle : cardinal;
fsCreationTime : TFileTime;
fsLastAccessTime : TFileTime;
fsLastModificationTime: TFileTime;
begin
Result := false;
fileHandle := CreateFile(PChar(fileName), GENERIC_READ, FILE_SHARE_READ, nil,
OPEN_EXISTING, 0, 0);
if fileHandle <> INVALID_HANDLE_VALUE then try
Result :=
GetFileTime(fileHandle, @fsCreationTime, @fsLastAccessTime,
@fsLastModificationTime) and
DSiFileTimeToDateTime(fsCreationTime, creationTime) and
DSiFileTimeToDateTime(fsLastAccessTime, lastAccessTime) and
DSiFileTimeToDateTime(fsLastModificationTime, lastModificationTime);
finally
CloseHandle(fileHandle);
end;
end; { DSiGetFileTimes }
이 주석 시점은 추천되지 않습니다. –
'FileAge()'는 파일의 CREATE 날짜를 가져오고, LAST MODIFED 날짜는 가져 오지 않습니다. –
@JerryGagnon - 아니요, '_WIN32_FILE_ATTRIBUTE_DATA.ftLastWriteTime'을 사용합니다 –
.
function GetFileModDate(filename : string) : integer;
var
F : TSearchRec;
begin
FindFirst(filename,faAnyFile,F);
Result := F.Time;
//if you wanted a TDateTime, change the return type and use this line:
//Result := FileDateToDatetime(F.Time);
FindClose(F);
end;
, 그리고 네이티브 델파이 코드 :
function GetFileModDate(filename : string) : TDateTime;
var
F : TSearchRec;
begin
FindFirst(filename,faAnyFile,F);
Result := F.TimeStamp;
//if you really wanted an Int, change the return type and use this line:
//Result := F.Time;
FindClose(F);
end;
F.Time은 이후 도움말 파일, 사용되지 않는 한 사용 F.TimeStamp는 말한다.
최신 버전의 Delphi로 인해 업데이트하는 것
System.IOUtils에는 파일 보관 기간을 가져 오는 몇 가지 기능이있는 TFile 레코드가 있습니다. GetCreationTime, GetLastAccessTime, GetLastWriteTime
- 1. VC++ : 파일의 시간과 날짜를 얻는 방법?
- 2. XSLT에서 XML 파일의 파일 생성/수정 날짜를 얻는 방법은 무엇입니까?
- 3. AppleScript로 - 파일의 생성/수정 날짜를 찾는
- 4. 미래 날짜를 얻는 방법
- 5. 상대 날짜를 얻는 방법
- 6. PostgreSQL 데이터베이스의 마지막 액세스/수정 날짜를 얻는 방법?
- 7. C#에서 웹 페이지의 최종 수정 날짜를 얻는 방법?
- 8. 파일의 생성 날짜를 설정하십시오.
- 9. FTP에서 특정 파일의 수정 된 시간 속성을 얻는 방법
- 10. 우리나라에서 정확한 날짜를 얻는 방법?
- 11. mdx에서 최신 날짜를 얻는 방법?
- 12. Delphi에서 외부 (공용) IP를 얻는 방법
- 13. CVS : 태그가 생성 된 날짜를 얻는 방법?
- 14. 파일의 작성, 수정, 액세스 날짜를 프로그래밍 방식으로 어떻게 변경합니까?
- 15. AIR에서 파일의 생성 및 수정 날짜를 어떻게 설정합니까?
- 16. 열린 파일의 이름을 얻는 방법?
- 17. 파일의 이전 버전을 얻는 방법
- 18. 사용자 도메인의 만료 날짜를 얻는 방법
- 19. 반복없이 데이터베이스와 디스플레이에서 날짜를 얻는 방법?
- 20. QCalendarWidget에 표시된 모든 날짜를 얻는 방법
- 21. 아이튠즈 연결 계정에서 주문 날짜를 얻는 방법?
- 22. 날짜/시간 형식에서 날짜를 얻는 방법
- 23. 프로세스의 마지막 활성 날짜를 얻는 방법?
- 24. 마지막 날 금요일 날짜를 얻는 깔끔한 방법
- 25. 특정 시간대의 날짜를 얻는 방법? 모든
- 26. jQuery UI Datepicker로 선택한 날짜를 얻는 방법
- 27. jquery를 사용하여 현재 날짜를 얻는 방법?
- 28. 자원 파일의 수정 날짜
- 29. JavaScript/PHP에서 업로드되는 파일의 수정 된 시간을 얻는 방법은 무엇입니까?
- 30. Heroku에 배포 할 때 마지막 푸시 날짜 또는 파일 수정 날짜를 얻는 방법?
정수 왜 TDateTime에 문제가 있습니까? –