...

Листинг 4.2.

Составление списка дисков

function GetDriveLetters(letters: TStrings):Integer;

var

mask: DWORD;

i: Integer;

letter: Char;

begin

//Получаем маску, характеризующую наличие дисков

mask := GetLogicalDrives();

//Разбираем маску (определяем значения первых 26 битов)

i := 1;

for letter := \'A\' to \'Z\' do

begin

if mask and i <> 0 then

//Есть диск под текущей буквой

letters.Append(letter + \':\\');

i := i * 2; //Переходим к следующему биту

end;

GetDriveLetters := letters.Count;

end;

Теперь напишем несложные функции, позволяющие определить полный размер и размер свободного пространства на диске (листинг 4.3).

Загрузка...