![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как оределить букву CD-ROM?
random © (2004-04-06 10:38:00)подскажите как оределить букву CD-ROM?
и что там uses?
http://my.samara.ru/~Delphi (2004-04-15 17:48:00) [1]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;
Ozone (2004-04-06 13:52:00) [2]TO Viperm [4]
А зачем весь алфавит перебирать? GetLogicalDriveStrings возвращает все что нужно...
Viperm (2004-04-06 11:55:00) [3]Мдааа.. у меня вот такая функция прокатывала :)
// Собсвенно сама функция
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;
xShadow (2004-04-06 11:40:00) [4]
> random © (06.04.04 11:28) [2]
> Нет, мне нужно, не всех дисков а именно CD, так чтоб программа
> самостоятельно определила привод а не я из списка выбирал
А ты описание погляди! F1.
random (2004-04-06 11:28:00) [5]Нет, мне нужно, не всех дисков а именно CD, так чтоб программа самостоятельно определила привод а не я из списка выбирал
Ozone (2004-04-06 11:15:00) [6]GetLogicalDriveStrings - получаешь буквы всех дисков
Пробугаешся по ним и смотришь GetDriveType