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 и другие