Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать размер каталога по пути? [D7]


Roman_S ©   (2007-03-03 19:39:00) 

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


DVM   (2007-03-03 23:42:00) [1]

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


DVM   (2007-03-03 23:41:00) [2]


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;


Anatoly Podgoretsky   (2007-03-03 22:32:00) [3]

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


Virgo_Style   (2007-03-03 20:07:00) [4]

суммированием размеров файлов и файлов-в-подкаталогах. О том, как их всех найти - см. здесь http://www.delphimaster.ru/cgi-bin/forum.pl?id=1172905502&n=18


Наверх

Титульная страница Поиск, карта сайта Написать письмо