Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать размер каталога? [D7, WinXP]


Генри ©   (2005-02-22 14:34:00) 

ЗДравствуйте. Как узнать сколько MB занимает каталог?
заране благодарен!


Virgo_Style   (2005-02-22 14:52:00) [1]


> для каждого файла спросить GetFileSize

type
  TSearchRec = record
   Time: Integer;
    Size: Integer;   
   Attr: Integer;
   Name: TFileName;
   ExcludeAttr: Integer;
   FindHandle: THandle;
   FindData: TWin32FindData;
end;


Топпер   (2005-02-22 14:38:00) [2]

рекурсивно пройти по всем файлам и подкаталогам и просуммировать размеры файлов

вот пример для рекурсивного удаления всех файлов и подкаталогов, переделай под себя:


 procedure EmptyDir(path: string);
 var
   sr: TSearchRec;
 begin
   if FindFirst(path + '\*.*', faAnyFile, sr) = 0 then begin
     repeat
       if sr.Attr and faDirectory = 0 then begin
         // not catalog
         DeleteFile(path + '\' + sr.name);
       end else begin
         // catalog
         if pos('.', sr.name) <= 0 then EmptyDir(path + '\' + sr.name);
       end;
     until FindNext(sr) <> 0;
   end;
   FindClose(sr);
 end;


TUser   (2005-02-22 14:38:00) [3]

Рекурсивно обойти его, и для каждого файла спросить GetFileSize


Наверх

Титульная страница Поиск, карта сайта Написать письмо