Главная страница
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.023 c
8-1069321670
Arsenij
2003-11-20 12:47
2004.03.28
Адресация видеопамяти с использованием Директ Ыкс


3-1077870961
BugMaker
2004-02-27 11:36
2004.03.28
Не устраивает скорость работы INSERTов в ADO :-(


3-1077905870
Zilog
2004-02-27 21:17
2004.03.28
расчеты на основе данных из базы данных. SQL.


6-1073645802
vivk
2004-01-09 13:56
2004.03.28
Узнать IP клиента


11-1056821442
mox
2003-06-28 21:30
2004.03.28
Incompatible types: TEditOptions and TEditOption