Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как определить размер свободного места на диске

Delphi , Файловая система , Диски

Как определить размер свободного места на диске

Для получения размера свободного места на дисках, ёмкость которых больше 2Гб, необходимо использовать функцию GetDiskFreeSpaceEx. Ниже приведён небольшой пример использования данной функции:


var
  FreeBytesAvailableToCaller: TLargeInteger;
  FreeSize: TLargeInteger;
  TotalSize: TLargeInteger;
begin
  GetDiskFreeSpaceEx('c:',
    FreeBytesAvailableToCaller,
    Totalsize,
    @FreeSize);
end;

Результатом будет значение в байтах.

Here's the translation of the Delphi code snippet into Russian:

Код на языке Delphi! Код использует функцию GetDiskFreeSpaceEx для получения свободного пространства на дисковом устройстве. В частности, он запрашивает доступ к дискам 'C:'. В переменных: 1. FreeBytesAvailableToCaller: количество свободных байтов, доступных вызывающему процессу. 2. FreeSize: общее количество свободных байтов на томе. 3. TotalSize: общий размер тома в байтах.

Функция принимает четыре параметра: путь к диску и три переменные для хранения результатов. В этом случае, путь к диску - 'C:', что означает запрос к дискам C:. Результат будет иметь значение в байтах, как вы упомянули.

Дополнительные заметки:

  • TLargeInteger - тип данных Delphi, представляющий большое целочисленное значение.
  • Синтаксис @FreeSize используется для передачи адреса переменной FreeSize функции GetDiskFreeSpaceEx, что позволяет функции записать результат в переменную.

Если вам нужно преобразовать свободное пространство из байтов в более человекочитаемый формат, например, мегабайты (МБ) или гигабайты (ГБ), вы можете использовать следующий код:

var
  FreeBytesAvailableToCaller: TLargeInteger;
  FreeSize: TLargeInteger;
  TotalSize: TLargeInteger;

begin
  GetDiskFreeSpaceEx('c:',
    FreeBytesAvailableToCaller,
    TotalSize,
    @FreeSize);

   // Преобразование свободного пространства из байтов в мегабайты (МБ)
  FreeSizeMB := FreeSize / 1024 * 1024;
   // Или преобразование в гигабайты (ГБ), если нужно
  FreeSizeGB := FreeSize / 1024 * 1024 * 1024;
end;

Код просто делит значение FreeSize на 1024 два раза для преобразования из байтов в мегабайты, или использует три деления для преобразования в гигабайты.

Для определения размера свободного места на диске с ёмкостью более 2 Гб можно использовать функцию GetDiskFreeSpaceEx, которая возвращает результат в байтах.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Диски ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-20 02:46:13/0.0031979084014893/0