Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Процедура вычисления размера каталога
Вычисляет размер файлов в каталоге и подкаталогах,
использую функции FindFirst/FindNext/FindClose
Зависимости: Masks;
Автор: panov, panov@hotbox.ru
Copyright: Нет
Дата: 30 марта 2004 г.
***************************************************** }
procedure 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
;
Пример использования:
procedureTForm1.Button1Click(Sender: TObject); var
SizeDir: Int64; begin
SizeDir := 0; GetDirSize('c:winnt', SizeDir); ShowMessage('Размер каталога ' + IntToStr(SizeDir)); end
;