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

Вниз

Как узнать размер каталога по пути?   Найти похожие ветки 

 
Roman_S ©   (2007-03-03 19:39) [0]

Как узнать размер каталога? (в каталоге находится несколько файлов и подкаталогов с файлами)
Известен путь к нему.


 
Virgo_Style ©   (2007-03-03 20:07) [1]

суммированием размеров файлов и файлов-в-подкаталогах. О том, как их всех найти - см. здесь http://delphimaster.net/view/2-1172905502/


 
Anatoly Podgoretsky ©   (2007-03-03 22:32) [2]

Что такое размер каталог, вроде как безразмерное


 
DVM ©   (2007-03-03 23:41) [3]


function GetDirectorySize(const Path: string): Int64;
var
 FD : TWin32FindData;
 FH : THandle;
 TempSize: TULargeInteger;
begin
 Result := 0;
 if Path = "" then exit;
 if not(DirExists(Path)) then exit;
 FH := Windows.FindFirstFile(PChar(Path + "*.*" ), FD);
 repeat
   if (FH<>INVALID_HANDLE_VALUE) and (FD.cFileName <> string(".")) and
                                              (FD.cFileName<>string("..")) then
     begin
       if (FILE_ATTRIBUTE_DIRECTORY and FD.dwFileAttributes) <> 0 then
         Inc(Result, GetDirectorySize(Path + FD.cFileName + "\"))
       else
         begin
           TempSize.LowPart := FD.nFileSizeLow;
           TempSize.HighPart := FD.nFileSizeHigh;
           Inc(Result, TempSize.QuadPart);
         end;
     end;
 until Windows.FindNextFile(FH, FD) = false;
 if FH <> 0 then Windows.FindClose(FH);
end;


 
DVM ©   (2007-03-03 23:42) [4]

Подкаталоги рекурсией



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

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

Наверх




Память: 0.47 MB
Время: 0.033 c
15-1172679850
Calibr
2007-02-28 19:24
2007.03.25
Кнопка в Проводнике


15-1172455662
ConstantVisor
2007-02-26 05:07
2007.03.25
Использование кода C++Builder в Delphi 2006


15-1172660057
Юрий
2007-02-28 13:54
2007.03.25
Идея перепродажи порочна!


15-1172460338
Slider007
2007-02-26 06:25
2007.03.25
С днем рождения ! 24 февраля


2-1172951338
KIBSOFT
2007-03-03 22:48
2007.03.25
Прога как бы зависает!