Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
ВнизРазмер папки Найти похожие ветки
← →
Батыр (2006-07-22 03:33) [0]Нет ли такой функции, которая возращала размер каталога.
← →
Loginov Dmitry © (2006-07-22 08:16) [1]Если бы была, то TatalCommander наверное так не тормозил бы при подсчете размера каталога (например при нажатии Space)
← →
Ketmar © (2006-07-22 10:35) [2]ручками писать. перебором-с...
← →
medved_68 © (2006-07-22 12:06) [3]
> Нет ли такой функции, которая возращала размер каталога.
> Батыр
Вот выдрал не помню откуда, но у меня в проектах работает нормально.
procedure TDiscSaze.GetDirSize(const aPath: string; var SizeDir: Int64);
var
SR: TSearchRec;
tPath: string;
begin
tPath := IncludeTrailingBackSlash(aPath);
if FindFirst(tPath + "*.*", faAnyFile, SR) = 0 then
begin
try
repeat
if (SR.Name = ".") or (SR.Name = "..") then
Continue;
if (SR.Attr and faDirectory) <> 0 then
begin
GetDirSize(tPath + SR.Name, SizeDir);
Continue;
end;
SizeDir := SizeDir +
(SR.FindData.nFileSizeHigh shl 32) +
SR.FindData.nFileSizeLow;
until FindNext(SR) <> 0;
finally
Sysutils.FindClose(SR);
end;
end;
end;
При помощи этой бодяги подсчитываю размеры вложенных папок.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c