Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

как оределить букву 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.033 c
14-1083526687
Piter
2004-05-02 23:38
2004.05.23
Пропаганда пива


14-1083231531
Igor_thief
2004-04-29 13:38
2004.05.23
Предложение!


14-1083240236
arp
2004-04-29 16:03
2004.05.23
Личные сайты


9-1072205907
SoS
2003-12-23 21:58
2004.05.23
в примерах делфиХ нашел пример, но там безконечная карта!! как...


3-1083066585
strelok-47
2004-04-27 15:49
2004.05.23
Работа с MS SQL через OLE, ошибка подсоеденения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский