Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Как определить кол-во дисков в системе? 


AlexMey   (2002-03-26 11:43) [0]

Уважаемые мастера и подмастерья.

Подскажите... Необходимо узнать какие диски есть в системе у пользователя (и желательно уметь различать Flopy от CD-Rom"a и винчестера). Среди стандартных файловых функций я этого не нашёл.

Заренее благодарен, Александр.



MAxiMum   (2002-03-26 12:10) [1]

Используй WinApi. GetLogicalDrives или GetLogicalDriveStrings для определения состава дисков и вызывай GetDriveType для каждого диска для определения типа устройства.



Dimka Maslov   (2002-03-26 12:23) [2]

procedure GetLogicalDriveList(const List: TStrings);
var
Size, Pos: Cardinal;
Buffer: array[0..127] of AnsiChar;
P: PChar;
DriveType: Integer;
begin
List.BeginUpdate;
try
List.Clear;
Size:=GetLogicalDriveStrings(SizeOf(Buffer), Buffer);
Pos:=0;
while Pos<Size do begin
P:=@Buffer[Pos];
DriveType:=GetDriveType(P);
List.AddObject(P, TObject(DriveType));
while Buffer[Pos]<>#0 do Inc(Pos);
Inc(Pos);
end;
finally
List.EndUpdate;
end;
end;


На выходе:
List.Count - количество дисков в системе;
List[i] - список дисков в системе;
Integer(List.Objects[i]) - тип диска (DRIVE_REMOVABLE - флоппи;
DRIVE_FIXED - жёсткий; DRIVE_REMOTE - сетевой; DRIVE_CDROM - сидюк; DRIVE_RAMDISK - виртуальный)




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
14-22805          IronHawk              2002-02-26 12:57  2002.04.08  
Приветствую Мастеров & All ! Как оакитизировать части программы по ключу в коммандной строке ?


1-22617           TsvIlya               2002-03-26 12:01  2002.04.08  
Запуск программы


3-22604           wicked                2002-03-14 10:03  2002.04.08  
грабли в ADO + JET...


1-22741           Lego                  2002-03-26 07:44  2002.04.08  
PageControl ... как сохранить динамически созданые RichEdit и текст из них?


7-22861           dima_yn               2002-01-16 13:58  2002.04.08  
Как узнать код возврата DOS-программы...