uses
Windows, SysUtils;
{--- Функция определения даты и времени папки ---}
function GetDirTime(Path: String): String;
{-- Добавление ведущих нулей --}
function AddLeadingZero(Value: String): String;
begin
Result := Value;
while Length(Result) < 2 do
Result := '0' + Result
end;
//-------------------------------
var
hFile: Hwnd;
SysTime: TSystemTime; // структура содержащая системное время
DirTime: TFileTime; // структура с информацией о дате
Rez: Boolean;
begin
Result := '';
hFile := CreateFile(PChar(Path), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
if hFile <> INVALID_HANDLE_VALUE then
begin
{ #########################################################################
######################## Параметры функции GetFileTime: ###################
#########################################################################
## 1 - хэндл фала для которого необходимо определить дату и время ##
## 2 - указатель на структуру с информацией о дате создания файла ##
## 3 - указатель на структуру с информацией о дате последнего доступа к файлу ##
## 4 - указатель на структуру с информацией о дате последней записи в файл ##
######################################################################### }
Rez := GetFileTime(hFile, @DirTime, nil, nil);
if not Rez then
begin
MessageBox(0, 'Не удалось получить дату создания папки !!', 'Error (GetFileTime)', MB_OK + MB_ICONERROR);
exit
end;
Rez := FileTimeToSystemTime(DirTime, SysTime); // преобразум время папки в системное время
if not Rez then
begin
MessageBox(0, 'Не удалось преобразовать дату создания папки, структуры TFileTime, в системное время !!',
'Error (FileTimeToSystemTime)', MB_OK + MB_ICONERROR);
exit
end;
with SysTime do
Result := AddLeadingZero(IntToStr(wDay)) + '.' + AddLeadingZero(IntToStr(wMonth)) + '.' + IntToStr(wYear) +
' [' + AddLeadingZero(IntToStr(wHour)) + ':' + AddLeadingZero(IntToStr(wMinute)) + ':' +
AddLeadingZero(IntToStr(wSecond)) + ']';
CloseHandle(hFile)
end
else
MessageBox(0, PChar('Не удалось получить хендл папки "' + Path + '" !!'), 'Error (CreateFile)', MB_OK + MB_ICONERROR)
end;
//------------------------------
begin
MessageBox(0, PChar('Дата создания папки "D:\Temp": ' + GetDirTime('D:\Temp')), 'Info', MB_OK + MB_ICONINFORMATION)
end.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5