Отправляет email-рассылки с помощью сервиса Sendsay

Советы по Delphi

  Все выпуски  

Советы по Delphi


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Как определить тип диска

Здравствуйте, уважаемые подписчики! Сегодня поговорим об определении типа диска. Это может понадобиться, например, для поиска дисковода.

Для определения типа диска существует функция GetDriveType. А для определения количетва дисков воспользуемся функцией GetLogicalDrives. Она возвращает четырехбайтное число, каждый i-тый бит которого определяет, существует ли i-тый диск. Первым диском считается диск A:\, вторым - B:\ и т.д.

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  LogDrives: set of 0..25;
  s: String;
begin
  integer(LogDrives) := GetLogicalDrives;
  for i := 0 to 25 do
    if (i in LogDrives) then begin
      s := chr(i + 65) + ':\';
      case GetDriveType(PChar(s)) of
        1: s := s + ' does not exists';
        DRIVE_REMOVABLE: s := s + ' DRIVE_REMOVABLE';
        DRIVE_FIXED: s := s + ' DRIVE_FIXED';
        DRIVE_REMOTE: s := s + ' DRIVE_REMOTE';
        DRIVE_CDROM: s := s + ' DRIVE_CDROM';
        DRIVE_RAMDISK: s := s + ' DRIVE_RAMDISK';
        else s := s + ' cannot be determined';
      end;
      ListBox1.Items.Add(s);
    end;
end;

Всего доброго!


url: http://delphi4all.narod.ru
email: delphi4all@narod.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное