Изменение даты создания каталогаDelphi , Файловая система , Директории
Автор: Dimka Maslov { **** UBPFD *********** by delphibase.endimus.com **** >> Две перегруженные функции, изменяющие дату и время создания каталога. Первая принимает непосредственные значения года, месяца, дня, часа, минут и секунд. Во второй дата и время указываются в формате TDateTime. См. также: http://delphibase.endimus.com/?action=viewfunc&topic=fileattr&id=10496 Зависимости: Windows Автор: Dimka Maslov, mainbox@endimus.com, ICQ:148442121, Санкт-Петербург Copyright: Dimka Maslov Дата: 4 февраля 2004 г. ***************************************************** } function SetDirTime(const Dir: string; Year, Month, Day, Hour, Minute, Second: Word): Boolean; overload; var H: Integer; F: TFileTime; S: TSystemTime; begin H := CreateFile(PChar(Dir), $0100, 0, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0); if H <> -1 then begin S.wYear := Year; S.wMonth := Month; S.wDay := Day; S.wHour := Hour; S.wMinute := Minute; S.wSecond := Second; SystemTimeToFileTime(S, F); LocalFileTimeToFileTime(F, F); Result := Boolean(SetFileTime(H, @F, @F, @F)); CloseHandle(H); end else Result := False; end; function SetDirTime(const Dir: string; DateTime: TDateTime): Boolean; overload; var H: Integer; F: TFileTime; S: TSystemTime; begin H := CreateFile(PChar(Dir), $0100, 0, nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0); if H <> -1 then begin DateTimeToSystemTime(DateTime, S); SystemTimeToFileTime(S, F); LocalFileTimeToFileTime(F, F); Result := Boolean(SetFileTime(H, @F, @F, @F)); CloseHandle(H); end else Result := False; end; Пример использования: if not SetDirTime('c:\Program Files', 2004, 2, 4, 12, 0, 0) then ShowMessage('Error!'); Вот перевод текста на русский язык: Код-snippet на Delphi, который предоставляет два перегруженных функции для установки времени создания директории. Первая функция принимает отдельные значения года, месяца, дня, часа, минуты и секунды, а вторая функция принимает значение типа TDateTime. Вот разбивка кода: Функция Эта функция создает файловый.handle для директории с помощью Функция Эта функция аналогична первой, но принимает значение типа TDateTime вместо. Она конвертирует это время и дату в системное время ( Пример использования В примере показано, как использовать вторую перегруженную функцию для установки времени создания директории 4 февраля 2004 года в 12:00:00. Если операция неудачна, она отображает сообщение об ошибке с помощью Предложения и улучшения
Вот обновленная версия кода с улучшенной организацией и обработкой ошибок:
В обновленной версии я ввел новый тип Описание двух перегруженных функций для изменения даты создания каталога в Delphi. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Директории ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |