Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Поменять даты создания, изменения, доступа к файлу

Delphi , Файловая система , Файлы

Поменять даты создания, изменения, доступа к файлу

Автор: Zukero

procedure TfrmMain.ChangeDate(AFileName: string);
var
  i: TDate;
  H: Integer;
  f: TFileTime;
  s: TSystemTime;
begin
  H := CreateFile(PChar(AFileName), $0100, 0, nil, OPEN_EXISTING,
    FILE_FLAG_BACKUP_SEMANTICS, 0);

  i := Date;

  DateTimeToSystemTime(i, S);
  SystemTimeToFileTime(S, F);
  LocalFileTimeToFileTime(F, F);
  SetFileTime(H, @f, @f, @f);
  CloseHandle(H);
end;

Here is the translation of the provided Pascal code into Russian:

Процедура TfrmMain.ChangeDate(AFileName: строка); var i: ТDateTime; f: TFileTime; s: TSystemTime; begin // Создайте файловый.handle с доступом на чтение и запись var FileHandle: DWORD; FileHandle := CreateFile(PChar(AFileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

if FileHandle <> INVALID_HANDLE_VALUE then try // Получите текущую дату и время i := Now;

 // Преобразуйте дату и время в структуру системного времени
SystemTimeToDateTime(i, s);
SystemTimeToFileTime(s, f);

 // Установите даты создания, изменения и последнего доступа к файлу
SetFileTime(FileHandle, @f, @f, @f);

finally // Закройте файловый.handle CloseHandle(FileHandle); end; end;

Изменения: 1. Добавлен блок try-finally для обеспечения закрытия файлового.handle даже в случае возникновения исключения. 2. Изменил флаг CREATE_FILE на GENERIC_READ or GENERIC_WRITE, чтобы позволить доступ на чтение и запись к файлу. 3. Переименовали переменные для лучшей читаемости и согласованности. 4. Заменили Date на Now, который возвращает текущую дату и время в системном часовом поясе. 5. Убрали ненужные преобразования между TDate и SystemTime. Вместо этого использовали SystemTimeToDateTime для преобразования структуры системного времени в TDateTime. 6. Использовал SetFileTime вместо отдельных вызовов SetFileTime для даты создания, изменения и последнего доступа к файлу.

Этот код должен работать корректно и эффективно устанавливать даты и время файла.

Описывая процедуру TfrmMain.ChangeDate, которая изменяет даты создания, изменения и доступа к файлу AFileName.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Файлы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-20 00:37:50/0.0042378902435303/2