Архив исходников программ, модулей и компонентов на Delphi


Начальная страница

Поиск по базе



Операционная система
Настройка приложения
Взаимодействия приложений
Файлы и директории
Строки и символы
Математика
Базы данных
Интернет и сеть
Мультимедиа
Аппаратная часть
VCL
Другие разделы [0]
 

Количество записей в базе - 537
Сегодня добавлено – 0

Дисковое оборудование



Вернуться к списку функций
 Определение размера свободного места на логическом диске

 Прислал: Dimka Maslov (Санкт-Петербург) ( 29 апреля 2002 г. )
©  Dimka Maslov
 Описание:
Функция поддерживает работу с дисками размером более 2 Гб.

В качестве параметра Dir используйте имя корневого каталога логического
диска, например 'c:\';

 Зависимости:
Windows

 Ограничения:
Не поддерживается в D1-D3

 Исходный текст:
{ **** UBPFD *********** by http://kladovka.net.ru/delphibase/ ****
>> Определение размера свободного места на логическом диске

Функция поддерживает работу с дисками размером более 2 Гб.

В качестве параметра Dir используйте имя корневого каталога логического
диска, например 'c:\';

Зависимости: Windows
Автор:       Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        29 апреля 2002 г.
***************************************************************** }

function GetDiskFreeSize(Dir: string): Int64;
var
 GetDiskFreeSpaceEx: function(Root: PChar; FBA, TNB, TNFB: PInt64): BOOL stdcall;
 GetDiskFreeSpace: function(Root: PChar; SPC, BPS, NFC, TNC: LPDWORD): BOOL stdcall;
 Handle: HINST;
 Dummy: Int64;
 SPC, BPS, NFC: DWORD;
begin
 Handle:=GetModuleHandle('kernel32.dll');
 GetDiskFreeSpaceEx:=GetProcAddress(Handle, 'GetDiskFreeSpaceExA');
 if Assigned(GetDiskFreeSpaceEx) then begin
  if not GetDiskFreeSpaceEx(PChar(Dir), @Result, @Dummy, @Dummy) then Result:=-1;
 end else begin
  GetDiskFreeSpace:=GetProcAddress(Handle, 'GetDiskFreeSpaceA');
  if Assigned(GetDiskFreeSpace) and
  GetDiskFreeSpace(PChar(Dir), @SPC, @BPS, @NFC, PDWORD(@Dummy))
   then Result:=SPC*BPS*NFC else Result:=-1;
 end;
end;


Вернуться к списку функций

Наверх ▲