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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2019, 18:01   #1
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию Размер файлов

Здравствуйте, подскажите пожалуйста, как получит размер файлов, пути к которым добавлены в ListBox, пытаюсь так:

Код:
function FileSize(fileName : wideString) : Int64;
 var
   sr : TSearchRec;
 begin
   if FindFirst(fileName, faAnyFile, sr ) = 0 then
      result := Int64(sr.FindData.nFileSizeHigh) shl Int64(32) + Int64(sr.FindData.nFileSizeLow)
   else
      result := -1;
 
   FindClose(sr) ;
 end;

procedure TForm1.SizeF;
var i: integer;
begin
 for i:=0 to ListBox1.Count - 1 do
     Label2.Caption := inttostr(FileSize(ListBox1.Items[i]));
end;
Но получаю размер одного файла. Как получит размер всех файлов?
Alex711 вне форума Ответить с цитированием
Старый 07.10.2019, 18:05   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы все размеры записываете в ОДНУ переменную. Вы ожидаете, что они там сами сгрупируются, притрутся бочками и постоят?
p51x вне форума Ответить с цитированием
Старый 07.10.2019, 18:08   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Можно в memo результат отобразить. В Label2.Caption тоже можно, но не так же, затирая, а накапливая, добавляя строку справа
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.10.2019, 18:51   #4
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию

Вывел в ListBox2:

Код:
ListBox2.Items.Add(FloatToStr(FileSize(ListBox1.Items[i])));
В ListBox2 вижу:
- если в ListBox1 2 файла, в ListBox2 три значения (размер одного файла повторяется)
- если в ListBox1 3 файла, в ListBox2 шесть значений (размер первого файла повторяется 3 раза, второго 2 раза, третьего 1 раз)
Alex711 вне форума Ответить с цитированием
Старый 07.10.2019, 19:50   #5
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Так очистить его надо.
Код:
procedure TForm1.SizeF;
var i: integer;
begin
  ListBox2.Clear;
  for i:=0 to ListBox1.Count - 1 do
     ListBox2.Items.Add(IntToStr(FileSize(ListBox1.Items[i])));
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 07.10.2019, 21:27   #6
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию

Вес файлов в ListBox2, подскажите пожалуйста ещё как сложить (+) значения айтемов ListBox2?
Alex711 вне форума Ответить с цитированием
Старый 08.10.2019, 01:45   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

А нафига вам вообще ListBox2?
Сделайте так, например
Код:
function TForm1.SizeF: Int64;
begin
  Result:=0;  
  for i:=0 to ListBox1.Count - 1 do
    Result:=Result+FileSize(ListBox1.Items[i]);
end;
...
Label2.Caption:=IntToStr(SizeF);
northener вне форума Ответить с цитированием
Старый 08.10.2019, 14:46   #8
Alex711
Пользователь
 
Регистрация: 21.09.2018
Сообщений: 99
По умолчанию

Спасибо всем за ответы!
Alex711 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
неправильно определяется размер больших файлов BLACK_RAIN Общие вопросы Delphi 9 17.04.2019 13:10
Почему разный размер файлов при компиляции? R_G Win Api 4 25.03.2016 12:17
Размер файлов Михаил Юрьевич Общие вопросы Delphi 6 10.08.2015 11:24
Почему уменьшился максимальный размер загружаемых файлов? Вадим Мошев О форуме и сайтах клуба 1 03.08.2013 22:51
Удаление файлов из папки по условию (размер) Vasьka Microsoft Office Excel 3 10.07.2013 21:38