Главная страница
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.029 c
15-1172596623
SamProf
2007-02-27 20:17
2007.03.25
Как сделать WYSIWYG редактор?


15-1172719137
Slider007
2007-03-01 06:18
2007.03.25
С днем рождения ! 1 марта


2-1173084807
Pigeonhole
2007-03-05 11:53
2007.03.25
глюк в OpenDialog


15-1171779351
Loginov Dmitry
2007-02-18 09:15
2007.03.25
Free()


2-1172669503
evgenij_
2007-02-28 16:31
2007.03.25
TForm