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

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

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

Delphi.int.ru Expert

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

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

#   

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


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

Подробнее »



Вопрос # 799

/ вопрос решён /

День добрый.
При открытии списка папок, файлов в OpenDialog по кнопке "меню ВИД" можно выбрать представление "Значки", "Список", "Таблица" и т.п.
При этом в представлении "таблица" виден размер файла.
Так вот вопрос: как после нажатия кнопки "Открыть" выбрать не только имя файла, но его размер из самого OpenDialog, но не читая файл? Заранее признателен.

Приложение:
  1.  


Gutstadt V V - 69 Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Gutstadt V V - 69 (статус: Посетитель)
Вопрос отправлен: 30 июля 2007, 11:56
Состояние вопроса: решён, ответов: 2.

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

Здравствуйте, Gutstadt V V!
А почему такая необходимость возникла? используем банальную функцию FileSize, если файл связан через Assign с файловой переменной. или потоки. в приложении два варианта использования

Приложение:
  1. function MyFileSize1(fileName):integer;
  2. var f:file;
  3. begin
  4. AssignFile(f, FileName);
  5. Reset(f);
  6. result:=FileSize(f);
  7. CloseFile(f);
  8. end;
  9.  
  10. uses Classes;
  11. function MyFileSize2(fileName):integer;
  12. var f:TFileStream;
  13. begin
  14. f:=TFileStrream.Create(filename,fmOpenRead);
  15. result:=f.size;
  16. f.free;
  17. end;


Ответ отправил: Вадим К (статус: Академик)
Время отправки: 30 июля 2007, 12:07
Оценка за ответ: 5

Комментарий к оценке: Спасибо. Здорово.

Ответ #2. Отвечает эксперт: min@y™

Есть ещё такой вот старый добрый способ:

var
  Rec: TSearchRec;
  Size: Int64;
begin
  if OpenDialog.Execute()
    then try
           if FindFirst(OpenDialog.FileName, faAnyFile, Rec) = 0
             then Size:= Rec.Size
             else Size:= -1;
         finally
           FindClose(Rec);
         end;
end;

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 31 июля 2007, 08:19
Оценка за ответ: 5

Комментарий к оценке: Спасибо, счас попробую.

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

Всего сообщений: 0.

31 января 2011, 19:29: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)

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

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:41
Выполнено за 0.03 сек.