Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Изменение даты создания каталога

Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com

{ **** 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!');
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay