Учись программированию на C++ Builder бесплатно!

Определить размер папки и ее подпапок для начинающих программистов достаточно проблематичная задача, но реализовать такое в C++ Builder не так и сложно. Для упрощения вычисления размера папки можно написать следующую функцию с несколькими передаваемыми значениями:

void FolderSize(AnsiString Folder, int &Size, int &fCount, int &folCount)
{
	TSearchRec SR;
	if (Folder[Folder.Length()] == '\\')
		Folder.SetLength(Folder.Length() - 1);
	if (FindFirst(Folder + "\\*.*", faAnyFile, SR) == 0)
		do
		{
			if (SR.Name != "." && SR.Name != "..")
			{
				if ((SR.Attr & faDirectory) != 0)
				{
					FolderSize(Folder + "\\" + SR.Name, Size, fCount, folCount);
					folCount++;
				}
				else
				{
					Size = Size + SR.Size;
					fCount++;
				}
			}
		} while (FindNext(SR) == 0);
		FindClose(SR);
}

Функция записывает данные в параметры Size. Размер папки определяется в байтах.

fCount - общее количество файлов в папке.

folCount - общее количество подпапок в папке.


Поиск по сайту