Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 771

•  TDictionary Custom Sort  5 886

•  Fast Watermark Sources  5 682

•  3D Designer  8 442

•  Sik Screen Capture  6 020

•  Patch Maker  6 466

•  Айболит (remote control)  6 461

•  ListBox Drag & Drop  5 318

•  Доска для игры Реверси  94 875

•  Графические эффекты  6 665

•  Рисование по маске  5 772

•  Перетаскивание изображений  4 841

•  Canvas Drawing  5 218

•  Рисование Луны  4 944

•  Поворот изображения  4 484

•  Рисование стержней  3 179

•  Paint on Shape  2 424

•  Генератор кроссвордов  3 298

•  Головоломка Paletto  2 607

•  Теорема Монжа об окружностях  3 390

•  Пазл Numbrix  2 245

•  Заборы и коммивояжеры  2 901

•  Игра HIP  1 871

•  Игра Go (Го)  1 785

•  Симулятор лифта  2 121

•  Программа укладки плитки  1 852

•  Генератор лабиринта  2 289

•  Проверка числового ввода  1 978

•  HEX View  2 287

•  Физический маятник  1 953

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Получить или установить дату для директории



Оформил: DeeCo

function GetFolderDate(Folder: string): TDateTime;
 var
   Rec: TSearchRec;
   Found: Integer;
   Date: TDateTime;
 begin
   if Folder[Length(folder)] = '\' then
     Delete(Folder, Length(folder), 1);
   Result := 0;
   Found  := FindFirst(Folder, faDirectory, Rec);
   try
     if Found = 0 then
     begin
       Date   := FileDateToDateTime(Rec.Time);
       Result := Date;
     end;
   finally
     FindClose(Rec);
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 var
   d: TDateTime;
 begin
   d := GetFolderDate('C:\WINNT');
   ShowMessage(FormatDateTime('dddd, d. mmmm yyyy, hh:mm:ss', d));
 end;


 { Sets the time for both files and directories }
 { for NT }

 function NT_SetDateTime(FileName: string; dtCreation, dtLastAccessTime, dtLastWriteTime: TDateTime): Boolean;
 // by Nicholas Robinson 
var
   hDir: THandle;
   ftCreation: TFiletime;
   ftLastAccessTime: TFiletime;
   ftLastWriteTime: TFiletime;

   function DTtoFT(dt: TDateTime): TFiletime;
   var
     dwft: DWORD;
     ft: TFiletime;
   begin
     dwft := DateTimeToFileDate(dt);
     DosDateTimeToFileTime(LongRec(dwft).Hi, LongRec(dwft).Lo, ft);
     LocalFileTimeToFileTime(ft, Result);
   end;

 begin
   hDir := CreateFile(PChar(FileName),
                      GENERIC_READ or GENERIC_WRITE,
                      0,
                      nil,
                      OPEN_EXISTING,
                      FILE_FLAG_BACKUP_SEMANTICS,
                      0);
   if hDir <> INVALID_HANDLE_VALUE then
    begin
     try
       ftCreation       := DTtoFT(dtCreation);
       ftLastAccessTime := DTtoFT(dtLastAccessTime);
       ftLastWriteTime  := DTtoFT(dtLastWriteTime);
       Result := SetFileTime(hDir, @ftCreation, @ftLastAccessTime, @ftLastWriteTime);
     finally
       CloseHandle(hDir);
     end;
   end
   else
     Result := False;
 end;

 procedure TForm1.Button2Click(Sender: TObject);
 begin
   NT_SetDateTime('c:\temp\MyFolder', now, now, now);
 end;




Похожие по теме исходники

Нейросеть для распознавания образов

Механизм станка качалки для нефти

Весы для взвешивания

Кувшины для воды

 

Доска для игры Реверси




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте