|
Вопрос # 799/ вопрос решён / |
|
День добрый.
При открытии списка папок, файлов в OpenDialog по кнопке "меню ВИД" можно выбрать представление "Значки", "Список", "Таблица" и т.п.
При этом в представлении "таблица" виден размер файла.
Так вот вопрос: как после нажатия кнопки "Открыть" выбрать не только имя файла, но его размер из самого OpenDialog, но не читая файл? Заранее признателен.
 |
Вопрос задал: Gutstadt V V - 69 (статус: Посетитель)
Вопрос отправлен: 30 июля 2007, 11:56
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, Gutstadt V V!
А почему такая необходимость возникла? используем банальную функцию FileSize, если файл связан через Assign с файловой переменной. или потоки. в приложении два варианта использования
Приложение: Переключить в обычный режим- function MyFileSize1(fileName):integer;
- var f:file;
- begin
- AssignFile(f, FileName);
- Reset(f);
- result:=FileSize(f);
- CloseFile(f);
- end;
-
- uses Classes;
- function MyFileSize2(fileName):integer;
- var f:TFileStream;
- begin
- f:=TFileStrream.Create(filename,fmOpenRead);
- result:=f.size;
- f.free;
- 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)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|