Получить или установить дату для директорииDelphi , Файловая система , ДиректорииПолучить или установить дату для директории
Оформил: DeeCo function GetFolderDate(Folder: string): TDateTime; var Rec: TSearchRec; Found: Integer; Date: TDateTime; begin if Folder[Length(folder)] = '\' then Delete(Folder, Length(folder), 1); Result := 0; Found := FindFirst(Folder, faDirectory, Rec); try if Found = 0 then begin Date := FileDateToDateTime(Rec.Time); Result := Date; end; finally FindClose(Rec); end; end; procedure TForm1.Button1Click(Sender: TObject); var d: TDateTime; begin d := GetFolderDate('C:\WINNT'); ShowMessage(FormatDateTime('dddd, d. mmmm yyyy, hh:mm:ss', d)); end; { Sets the time for both files and directories } { for NT } function NT_SetDateTime(FileName: string; dtCreation, dtLastAccessTime, dtLastWriteTime: TDateTime): Boolean; // by Nicholas Robinson var hDir: THandle; ftCreation: TFiletime; ftLastAccessTime: TFiletime; ftLastWriteTime: TFiletime; function DTtoFT(dt: TDateTime): TFiletime; var dwft: DWORD; ft: TFiletime; begin dwft := DateTimeToFileDate(dt); DosDateTimeToFileTime(LongRec(dwft).Hi, LongRec(dwft).Lo, ft); LocalFileTimeToFileTime(ft, Result); end; begin hDir := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0); if hDir <> INVALID_HANDLE_VALUE then begin try ftCreation := DTtoFT(dtCreation); ftLastAccessTime := DTtoFT(dtLastAccessTime); ftLastWriteTime := DTtoFT(dtLastWriteTime); Result := SetFileTime(hDir, @ftCreation, @ftLastAccessTime, @ftLastWriteTime); finally CloseHandle(hDir); end; end else Result := False; end; procedure TForm1.Button2Click(Sender: TObject); begin NT_SetDateTime('c:\temp\MyFolder', now, now, now); end; Статья Получить или установить дату для директории раздела Файловая система Директории может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Директории ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |