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

Вниз

Directory Size   Найти похожие ветки 

 
opoloxai ©   (2004-03-10 18:04) [0]

Добрый день.
Как определить размер директории (со вложеными папками)?
Заранее спасибо.


 
TUser ©   (2004-03-10 18:28) [1]

Рекурсивно обойти папку и посмотреть размер всех файлов.


 
pasha_golub ©   (2004-03-10 18:32) [2]


var
FoldersCount:integer;
TotalSize:int64;
procedure TDetailsThread.GetFolderSize(const APath: string);
var SR: TSearchRec;
begin
 if Terminated then Exit;
 if FindFirst(APath+"\*.*", faAnyFile, sr) = 0 then
     repeat
       if ((sr.Attr and faDirectory) = faDirectory) then
              begin
               if (sr.Name <> ".") and (sr.Name <> "..") then
                    begin
                       GetFolderSize(APath+"\"+sr.Name);
                       inc(FoldersCount);
                    end
              end      
       else
         begin
              inc(FilesCount);
              TotalSize := TotalSize + sr.Size;
         end;    

     until (FindNext(sr) <> 0) or (Terminated);
 FindClose(sr);
end;


 
opoloxai ©   (2004-03-10 18:45) [3]

Большое спасибо всем.
Я так и делаю, но почему же нет готовой процедуры??? Непонятно.


 
TUser ©   (2004-03-10 19:42) [4]

Ну, не для каждой ведь задачи должна быть готовая процедура, разработанная программерами Борланда. Задача-то довольно редко встречающаяся.



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
6-1074267027
Инкогнито
2004-01-16 18:30
2004.03.28
Адрес отправителя


3-1077470135
Vah
2004-02-22 20:15
2004.03.28
Подключение к MySQL через dbExpress


3-1077159983
Sirus
2004-02-19 06:06
2004.03.28
Максимальное количество Insert и Update в одной тарнзакции...


1-1078909539
LordBTR
2004-03-10 12:05
2004.03.28
Ув. мастера, как на время действия пр-ры вывести окно "Ждите"?


9-1062232999
IvoozZ
2003-08-30 12:43
2004.03.28
Сбор предметов и помещение их в инвентарь (2D квест)