Функция принимает два параметра: FileName (строка, представляющая путь и имя файла) и FileDate (значение типа TDateTime, представляющее желаемую дату создания).
Переменные и инициализации
var
FileHandle : THandle;
FileSetDateResult : Integer;
Функция объявляет два локальных переменных: FileHandle типа THandle, который будет хранить файловый дескриптор, и FileSetDateResult типа Integer, который будет содержать результат функции FileSetDate.
Блок try-except-finally
try
try
FileHandle := FileOpen(
FileName,
fmOpenWrite OR fmShareDenyNone);
if FileHandle > 0 Then begin
FileSetDateResult :=
FileSetDate(
FileHandle,
DateTimeToFileDate(FileDate));
result := (FileSetDateResult = 0);
end;
except
Result := False;
end;
finally
FileClose(FileHandle);
end;
Код использует блок try-except-finally для обеспечения закрытия файлового дескриптора, независимо от возникновения исключения.
Внешний блок try пытается открыть файл с помощью FileOpen. Если это успешно, то продолжает устанавливать дату создания.
Внутренний блок try вызывает функцию FileSetDate с файловым дескриптором и желаемой датой создания. Если это успешно, то устанавливает результат функции в True.
Если возникает исключение при выполнении любого из этих шагов, внешний блок except ловит его и устанавливает результат функции в False.
Блок finally обеспечивает закрытие файлового дескриптора с помощью FileClose, независимо от возникновения исключения.
Пример использования
SetFileDate('c:\mydir\myfile.ext', Now)
Код устанавливает дату создания файла myfile.ext в директории c:\mydir\ на текущую дату и время (Now).
Установка даты создания файла в Delphi с помощью функции SetFileDate.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.