Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2008, 14:38   #1
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию Дата создания каталога

Столкнулся с проблемой определения даты создания каталога. Штука в том, что не могу получить данные по папкам "C:\Windows" и "C:\Program files" (и некоторым вложенным в них), которые относятся к Windows98 (вместо 2007 года получаю 1980-й). С остальными папками проблем нет...
Работаю в WinXP
Код:
procedure TForm1.Button1Click(Sender: TObject);
var ff: _win32_find_dataa;
    hFind: hwnd;
    ModifiedTime: TFileTime;
    SystemTime: TSystemTime;
begin
    hFind := FindFirstfile(pchar(edit1.text), ff);
    if (INVALID_HANDLE_VALUE <> hFind) then
    repeat
    if (ff.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY then begin
        memo1.text:=ff.cFileName;
        FileTimeToLocalFileTime(ff.ftCreationTime, ModifiedTime);
        FileTimeToSystemTime(ModifiedTime, SystemTime);
        memo1.Lines.Add(datetimetostr(SystemTimeToDateTime(SystemTime)));
    end;
    until not FindNextfile(hFind, ff);
end;
eoln вне форума Ответить с цитированием
Старый 14.07.2008, 10:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

GetFileTime попробуй.

На DelphiWorld такой пример:
Код:
function GetDirTime(const Dir: string): TDateTime;
var
  H: Integer;
  F: TFileTime;
  S: TSystemTime;
begin
  H := CreateFile(PChar(Dir), $0080, 0, nil, OPEN_EXISTING,
    FILE_FLAG_BACKUP_SEMANTICS, 0);
  if H <> -1 then
  begin
    GetFileTime(H, @F, nil, nil);
    FileTimeToLocalFileTime(F, F);
    FileTimeToSystemTime(F, S);
    Result := SystemTimeToDateTime(S);
    CloseHandle(H);
  end
  else
    Result := -1;
end;
I'm learning to live...

Последний раз редактировалось Stilet; 14.07.2008 в 10:56.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование КАТАЛОГА Рустам Общие вопросы Delphi 10 13.10.2007 12:22
Шифрование каталога _SERGEYX_ Безопасность, Шифрование 3 02.08.2007 15:16
Дата создания файла Шеллер Алексей Общие вопросы Delphi 2 03.03.2007 12:32