![]()  | 
![]() ![]() ![]() ![]()  | 
   
 | 
Изменение даты создания каталога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 прямо в свой смартфон. Подпишитесь на наш  :: Главная :: Директории :: 
  | 
||||
 ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007  | ||||