|
아제나 님이 쓰신 글 :
: VCL에 GetFileDate(int) 함수는
:
: 파일의 생성 시각을 리턴해주는데요.
:
: 원래 Win32s 파일에는 3가지 날짜가 기록되잖아요.
:
: "생성 시각, 마지막 엑세스 시각, 마지막 변경 시각"이요.
:
: VCL로 마지막 엑세스 시각과 마지막 변경 시각을 얻는 방법을 알고 싶구요.
:
: 제가 찾아본 결과 BCB 5.0 VCL 에서는 없었기에 -_-;;;
VCL의 FindFirst() 함수를 쓰세요.
이 함수의 인자인 TSearchRec는 다음과 같이 정의된 구조체입니다.
struct TSearchRec
{
int Time;
int Size;
int Attr;
AnsiString Name;
int ExcludeAttr;
int FindHandle;
_WIN32_FIND_DATA FindData;
};
그리고 여기서, _WIN32_FIND_DATA는 다음과 같이 정의되어 있는 구조체입니다.
이 안에 님이 원하시는 정보가 있네요.
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime; // 생성 시각
FILETIME ftLastAccessTime; // 마지막 액세스 시각
FILETIME ftLastWriteTime; // 마지막 변경 시각
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
TCHAR cFileName[ MAX_PATH ];
TCHAR cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;
: 혹시라도 VCL의 int 형인 파일 핸들값을 void *의 Win32 API 형식으로 바꾸는 법이
그냥 강제 캐스팅하면 되지 않나요...?
: 있다면, 윈도우 기본 API인 GetFileTime() 함수를 쓸 수 있을텐데요...
:
: 현재 코딩이 전부 VCL을 쓰는 것으로 되어 있어서 -_-;;;
:
: 그걸 전부 API로 바꾸는 것은 거의 불가하다고 할 수 있네요.
:
: 진정한 고수님들...
:
: 좋은 방법이 없을까요???
:
:
|