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

Для этого надо воспользоваться API функцией GetDriveType(). Функция имеет параметр PChar и возвращает TDriveType. Допустим у Вас есть форма (Form1) с двумя контролами Edit на ней (Edit1 и Edit2) и, следующая функция:

procedure TForm1.Button1Click(Sender: TObject); 
var 
   s : String; 
begin 
  s:=edit1.Text; 
  setlength(s,1); 
  if GetDriveType(Pchar(s)) <> DRIVE_REMOTE then 
     edit1.Text:=Volumeid(s[1]) 
  else 
    edit1.Text:=NetworkVolume(s[1]); 
  S:=S+#58+#92; 
  Setlength(s,3); 
  case GetDriveType(Pchar(s)) of 
       0:                edit2.Text:='Тип диска невозможно определить.'; 
       1 :                edit2.Text:='корневая директория не существует.'; 
       DRIVE_REMOVABLE:  edit2.Text:='Диск съёмный.'; 
       DRIVE_FIXED:      edit2.Text:='Диск не съёмный.'; 
       DRIVE_REMOTE: edit2.Text:='Диск является сетевым ресурсом.'; 
       DRIVE_CDROM: edit2.Text:='Диск является CD-ROM.'; 
       DRIVE_RAMDISK:    edit2.Text:='Диск явяляется RAM диском.'; 
  end; 
end;
 
faq/delphi/system/which_kind_of_drive.txt · Последние изменения: 2006/05/14 14:40 (внешнее изменение)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki