Программирование: GetSpaceOnDisk

Прототип

function GetSpaceOnDisk(const Path: String; const InMegabytes: Boolean; var Free, Total: Cardinal): Boolean;

Описание

Позволяет получить размер общего Total и свободного Free пространства на диске в байтах или мегабайтах. Параметр Path определяет каталог на диске или ресурс в сети (UNC-путь). Это может быть корневой каталог (например , C:\), или существующий подкаталог. Параметр InMegabytes определяет формат представления данных: в байтах или мегабайтах (2^20), округленных в меньшую сторону. В случае успеха возвращает значение True, иначе False.

Комментарии

Цифровые данные, возвращаемые функцией, ограничены значением 2147483647 (2^31-1). Поэтому, если для параметра InMegaBytes задано False, функция вернёт значение не превышающее 2147483647 байт. Если же для параметра InMegaBytes задано True, то функция вернёт значение не превышающее 2147483647 мегабайт.

Пример

var
  Path: String;
  FreeMB, TotalMB: Cardinal;
begin
  // Получаем объём свободного места в Мб на диске с каталогом "Program Files"
  Path := ExpandConstant('{autopf}');
  if GetSpaceOnDisk(Path, True, FreeMB, TotalMB) then
  begin
    MsgBox('Доступно ' + IntToStr(FreeMB) + ' Мб по пути ' +
      Path, mbInformation, MB_OK);
  end
  else begin
    // ошибка выполнения функции
  end;
end;

См. также:

GetSpaceOnDisk64