Форум: "Система";
Текущий архив: 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.45 MB
Время: 0.036 c