Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

как оределить букву CD-ROM?   Найти похожие ветки 

 
random ©   (2004-04-06 10:38) [0]

подскажите как оределить букву CD-ROM?
и что там uses?


 
Ozone ©   (2004-04-06 11:15) [1]

GetLogicalDriveStrings - получаешь буквы всех дисков
Пробугаешся по ним и смотришь GetDriveType


 
random ©   (2004-04-06 11:28) [2]

Нет, мне нужно, не всех дисков а именно CD, так чтоб программа самостоятельно определила привод а не я из списка выбирал


 
xShadow ©   (2004-04-06 11:40) [3]


> random ©   (06.04.04 11:28) [2]
> Нет, мне нужно, не всех дисков а именно CD, так чтоб программа
> самостоятельно определила привод а не я из списка выбирал

А ты описание погляди! F1.


 
Viperm   (2004-04-06 11:55) [4]

Мдааа.. у меня вот такая функция прокатывала :)



// Собсвенно сама функция
function GetCDDrv: boolean;
var
 ch: Char;
 drv_str: PChar;
 log_str: string;
begin
 result:=false;
 lstDrives.Clear;
 log_str:="";
 try
   // Перечисление всех возможных букв дисков
   for ch:="A" to "Z" do begin
     drv_str:=PChar(string(ch)+":");
       // Если диск - CDROM
       if GetDriveType(drv_str)=DRIVE_CDROM then begin
       log_str:=log_str+" "+drv_str;
       lstDrives.Items.Add(drv_str+" ["+        GetDrvLabel(drv_str)+"]");
       lstDrives.Checked[lstDrives.Count-1]:=true;
     end;
   end;
 finally
   // Если CDROM найдены, то
   if Trim(log_str)<>"" then begin
     AddToLog("Найдены устройства CDROM: "+log_str, false, false);
     GetTestingCD;
     result:=true;
   end else begin
     AddToLog("Устройства CDROM не найдены", false, true);
   end;
 end;
end;

// Определение метки диска
function GetDrvLabel(d_path: PChar): string;
var
 NoMatter : Cardinal;
 VolumeName: Array [0..MAX_PATH] of Char;
begin
 if MediaExists(d_path) then begin
   GetVolumeInformation(d_path, VolumeName, SizeOf(VolumeName),
     nil, NoMatter, NoMatter, Nil, 0);
   Result:=VolumeName;
 end else begin
   Result:="no disk";
 end;
end;



 
Ozone ©   (2004-04-06 13:52) [5]

TO Viperm [4]

А зачем весь алфавит перебирать? GetLogicalDriveStrings возвращает все что нужно...


 
http://my.samara.ru/~Delphi   (2004-04-15 17:48) [6]

procedure TForm1.Panel3Click(Sender: TObject);
var i:integer;
begin
 ComboBox1.Items.Clear;
for i:=65 to 90 do if GetDriveType(PChar(chr(i)+":\"))=DRIVE_CDROM then begin
 ComboBox1.Items.Add(chr(i));
 ComboBox1.ItemIndex:=0;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
7-1081883007
Mozzzila
2004-04-13 23:03
2004.05.23
Слежение за обращением к реестру


6-1080730866
tRiNEX
2004-03-31 15:01
2004.05.23
Перехват данных.


8-1078386440
Димон
2004-03-04 10:47
2004.05.23
Сохранение в Image


4-1080822821
AlexeyITN
2004-04-01 16:33
2004.05.23
WinAPI Return Values and Errors


11-1071442374
Dimaxx
2003-12-15 01:52
2004.05.23
Работа с памятью: KOL vs МСД