Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 785

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Есть список с именами файлов! Во время, когда я выделяю в списке файл! В эдитах должно показывать дату и размер файла!
Как можно получить дату и размер файла? Т.е какую функцию нужно использовать? (лучше с примерами)!
Заранее спасибо!

Hideman Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Hideman (статус: Посетитель)
Вопрос отправлен: 15 мая 2009, 11:19
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, Hideman!
показать дату... дело в том, что у файла есть три даты. дата создания, дата модификации, и на ntfs, если только не отключить, показывает дату последнего доступа. Вот примерчик для даты последней модификации (обычно её и показывают)

var
  fileName   : string;
  fileDate   : Integer;
begin
  // Укажем имя файла для теста
  fileName := 'Unit1.DCU';
  fileDate := FileAge(fileName);
 
  // Удалось получить дату?
  if fileDate > -1 then
    ShowMessage(fileName+' был модифицирован = '+
                DateToStr(FileDateToDateTime(fileDate)));
end;
А вот для размера файла наверно подойдет такой код
function FileSize_(FName: string): int64;
var
  ff: _win32_find_dataa;
  hFind: hwnd;
begin
  hFind := FindFirstfile(pchar(FName), ff);
  if (INVALID_HANDLE_VALUE <> hFind) then
   result := (ff.nFileSizeHigh shl 32) + ff.nFileSizeLow
  else result := 0;
end;
Эта функция должна корректно работать с файлами больше 2 гиг.

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 15 мая 2009, 11:47
Оценка за ответ: 5


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 23 февраля 2020, 02:24
Выполнено за 0.02 сек.
Рейтинг@Mail.ru