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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.08.2010, 16:09   #1
Nomad
Пользователь
 
Аватар для Nomad
 
Регистрация: 08.10.2007
Сообщений: 22
Вопрос Как в Delphi определить размер файла?

Собственно вопрос... Есть допустим файл 2010.dmp, как можно определить его размер? И можно ли как-то сделать так что бы изменение его размера, по мере формирования отображались в компоненте Label?

Последний раз редактировалось Nomad; 05.08.2010 в 16:11.
Nomad вне форума Ответить с цитированием
Старый 05.08.2010, 16:22   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Можно так:
Код:
var
  SizeOfFile:integer;
  FS: TFileStream;
begin
  ...................
  FS:=TFileStream.Create(Filename, fmOpenRead);
  SizeOfFile:=FS.Size;
  FS.Free;
  Label.Caption:=IntToStr(SizeOfFile)
  ....................
или функция FileSize(тут файловая переменная) - возвращает размер файла в байтах...
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 05.08.2010 в 16:31.
Grag вне форума Ответить с цитированием
Старый 05.08.2010, 16:45   #3
Nomad
Пользователь
 
Аватар для Nomad
 
Регистрация: 08.10.2007
Сообщений: 22
По умолчанию

Grag, отписал личное сообщение, уточнить кое-что хочу...

Grag, спс, то что нужно!

Последний раз редактировалось Stilet; 06.08.2010 в 17:15.
Nomad вне форума Ответить с цитированием
Старый 06.08.2010, 15:56   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

кстати, я бы рекомендовал написать получение размера файла через FindFirst
в этом случае можно получить и размер файла, которые невозможно открыть! (нет прав, кем то захвачен и т.д.)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.08.2010, 19:10   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Парочка уточнений для больших файлов. В примере Grag вместо integer лучше int64, а IntToStr заменить на другую ф-ию, например на
Код:
function int64tostr(i64: int64): string;
begin
  str(i64, result)
end;
. А в примере Serge_Bliznykov, FindFirst лучше заменить на FindFirstFile, чтобы проверять для файлов более 2 ГБ.
Код:
function sizefile(s: string): int64;
var
  SearchRec : _WIN32_FIND_DATAA;
begin
  FindFirstFile(pchar(s), SearchRec);
  result := SearchRec.nFileSizeHigh shl 32 + SearchRec.nFileSizeLow
end;
eoln вне форума Ответить с цитированием
Старый 06.08.2010, 19:46   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

eoln, ну что тут добавить??!
Только +
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.08.2010, 14:33   #7
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

var

F: File;
i: Integer;
begin
for i := 0 to (FileListBox1.Items.Count - 1) do begin
try
if FileListBox1.Selected[i] then
begin
if not FileExists(FileListBox1.Items.Strin gs[i]) then begin
MessageDlg('File: ' + FileListBox1.Items.Strings[i] +
' not found', mtError, [mbOk], 0);
Continue;
end;
AssignFile(F, FileListBox1.Items.Strings[i]);

Reset(F, 1);
ListBox1.Items.Add(IntToStr(FileSize(F)));
CloseFile(F);
end;
finally
{ do something here }
end;
end;
end;
Из делфевого хелпа
baster128 вне форума Ответить с цитированием
Старый 10.08.2010, 08:33   #8
Nomad
Пользователь
 
Аватар для Nomad
 
Регистрация: 08.10.2007
Сообщений: 22
По умолчанию

Вопрос как бы неделю назад решился , но все-равно всем спасибо за участие !
Nomad вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить размер файла перед скачиванием. kalexi Работа с сетью в Delphi 12 17.02.2012 18:17
как программно определить размер файла более 2 гб VIR1435 Общие вопросы Delphi 6 27.12.2009 10:55
Как определить размер скрытого объекта? rolling JavaScript, Ajax 7 28.09.2009 19:39
Как определить размер кадра в AVI sun Общие вопросы C/C++ 1 18.11.2007 06:00