Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

Размер папки   Найти похожие ветки 

 
Батыр   (2006-07-22 03:33) [0]

Нет ли такой функции, которая возращала размер каталога.


 
Loginov Dmitry ©   (2006-07-22 08:16) [1]

Если бы была, то TatalCommander наверное так не тормозил бы при подсчете размера каталога (например при нажатии Space)


 
Ketmar ©   (2006-07-22 10:35) [2]

ручками писать. перебором-с...


 
medved_68 ©   (2006-07-22 12:06) [3]


> Нет ли такой функции, которая возращала размер каталога.


> Батыр  

Вот выдрал не помню откуда, но у меня в проектах работает нормально.

procedure TDiscSaze.GetDirSize(const aPath: string; var SizeDir: Int64);
var
 SR: TSearchRec;
 tPath: string;
begin
 tPath := IncludeTrailingBackSlash(aPath);
 if FindFirst(tPath + "*.*", faAnyFile, SR) = 0 then
 begin
   try
     repeat
       if (SR.Name = ".") or (SR.Name = "..") then
         Continue;
       if (SR.Attr and faDirectory) <> 0 then
       begin
         GetDirSize(tPath + SR.Name, SizeDir);
         Continue;
       end;
       SizeDir := SizeDir +
         (SR.FindData.nFileSizeHigh shl 32) +
         SR.FindData.nFileSizeLow;
     until FindNext(SR) <> 0;
   finally
     Sysutils.FindClose(SR);
   end;
 end;
end;

При помощи этой бодяги подсчитываю размеры вложенных папок.



Страницы: 1 вся ветка

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
2-1153863830
SerJaNT
2006-07-26 01:43
2006.08.13
Hex


15-1152870960
ChainikDenis
2006-07-14 13:56
2006.08.13
Работа для програмиста в Москве


6-1143528314
balepa
2006-03-28 10:45
2006.08.13
Процедура обработки OnClientRead


2-1153808000
ctudent
2006-07-25 10:13
2006.08.13
Настройка модема


15-1152657756
SPeller
2006-07-12 02:42
2006.08.13
Снова борьба с альтернативными ICQ клиентами?