Guest |
Отправлено: 17.10.2005, 20:30 |
|
Не зарегистрирован
|
как узнать размер папки ? |
|
Grigoriy |
Отправлено: 18.10.2005, 07:13 |
|
Мастер участка
Группа: Участник
Сообщений: 381
|
QUOTE (Guest @ 17/10/2005, 20:30) | как узнать размер папки ? |
Пробуйте вот :
CODE |
__int64 GetSizeCatalogue(AnsiString namec);
__int64 GetSizeCatalogue(AnsiString namec)
{
__int64 sizetc;
AnsiString maskf;
TSearchRec SR;
char* d;
int handlef;
sizetc=0;
d=".";
if (*namec.AnsiLastChar()==*d)
{return 0;}
namec=namec+"\\";
maskf=namec+"*.*";
if (!FindFirst(maskf,faAnyFile,SR))
{
do
if (SR.Attr&faDirectory)
{
sizetc+=GetSizeCatalogue(namec+SR.Name);
}
else
{
sizetc+=SR.Size;
}
while (!FindNext(SR));
}
return sizetc;}
|
Только если размер какого либо файла больше чем 4294967295 байт, то я уверен, что будет ошибка.
Отредактировано Grigoriy — 18/10/2005, 07:48
|
|
Valdemar |
Отправлено: 18.10.2005, 07:24 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Посчитайте сумму размеров всех файлов, находящихся в нужной папке и во вложенных папках. Посмотрите функции findfirst, findnext. |
|