DELPHI РАЗМЕР ПАПКИ

В Delphi есть несколько способов получить размер папки. Один из способов - использовать класс TDirectory из модуля System.IOUtils. Этот класс содержит метод TDirectory.GetSize, который возвращает размер папки в байтах.

TDirectory.GetSize('C:\MyFolder');

Если нужно получить размер папки в килобайтах, мегабайтах или гигабайтах, то полученные байты нужно преобразовать. Например, для получения размера папки в мегабайтах можно использовать следующий код:

SizeInMB := TDirectory.GetSize('C:\MyFolder') / (1024*1024);

Еще один способ получить размер папки - использовать API функцию GetDiskFreeSpaceEx. Эта функция возвращает информацию о свободном и занятом дисковом пространстве, включая размер папки. Пример использования:

var TotalSize, TotalFree, TotalUsed: Int64;begin if GetDiskFreeSpaceEx('C:\MyFolder', TotalSize, TotalFree, TotalUsed) then ShowMessage('Total size: ' + IntToStr(TotalSize));end;

Для получения размера папки по содержимому можно использовать рекурсивную функцию, которая будет обходить все подпапки и файлы внутри заданной папки и суммировать их размеры. Пример такой функции:

function GetFolderSize(const Folder: string): Int64;var SearchRec: TSearchRec;begin Result := 0; if FindFirst(IncludeTrailingBackslash(Folder) + '*', faAnyFile, SearchRec) = 0 then try repeat if (SearchRec.Name = '.') or (SearchRec.Name = '..') then Continue; if (SearchRec.Attr and faDirectory) <> 0 then Result := Result + GetFolderSize(IncludeTrailingBackslash(Folder) + SearchRec.Name) else Result := Result + SearchRec.Size; until FindNext(SearchRec) <> 0; finally FindClose(SearchRec); end;end;

Код данной функции рекурсивно обходит все подпапки и файлы внутри заданной папки и возвращает их общий размер. Для использования этой функции нужно передать ей путь к папке. Например:

FolderSize := GetFolderSize('C:\MyFolder');

Отладочная карта для ноутбуков MiniPCI-E / MiniPCI-E Debugging Card

#11 Программирование в Delphi. ООП. Классы

Построение графиков функции в Delphi часть 1

3 урок Delphi XE (уменьшить размер проэкта)

Советы дизелисту Common Rail Delphi

Прописка форсунки Continental\\Siemens на 1.5 дци Рено с помощью Pyren.

Программирование в Delphi Урок 10. Работа с Ini-файлами. Классы / Илья Хохлов

Программирование в Delphi Урок 3 2 Работа с текстом, строковые функции Length, Pos и другие

Реклама
Новое
Реклама