Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определение метки компакт диска [D5, D6]


Oks ©   (2002-03-14 15:42:00) 

Уважаемые знатоки!
Подскажите пожалуйста как определить метку компакт диска, если можно с примером.
Заранее спасибо!


Oks   (2002-03-15 15:07:00) [1]

>McSimm
Спасибо за консультацию!
Очень признателен.


McSimm   (2002-03-15 12:40:00) [2]

Проверить является ли устройство CD-ROM можно так:
if GetDriveType("F:\") = DRIVE_CDROM then ShowMessage("cdrom");

Проверить какие логические диски работают в системе можно с помощью функций
GetLogicalDrives - возвращает битовую маску дисков - "A:"=0й бит
GetLogicalDriveStrings - возвращает в буфере строковые обозначения, соответствующие дискам. Завершается список двумя нулями.
Например
"A:\"#0"C:\"#0"D:\"#0#0

PS Надеюсь разобрался, - в предыдущем примере случайно попала ненужная строка SetLength(S2, 33);


Oks   (2002-03-15 11:56:00) [3]

Большое спасибо!!!
И еще один вопрос, если можно:
как определить букву диска, под которой находится CD-ROM?


McSimm   (2002-03-14 19:07:00) [4]


> если можно с примером

Можно :)
procedure TForm1.Button2Click(Sender: TObject);
var S, S2: String;
I: Integer;
MCL, fsf: Cardinal;
begin
SetLength(S, 21);
SetLength(S2, 33);
if not GetVolumeInformation("F:\", PChar(S), 20, @I, MCL, fsf, nil, 0)
then begin
SetLength(S, 128);
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil, GetLastError, 0, PChar(S), 127, nil);
ShowMessage(S)
end
else ShowMessage(S)
end;


McSimm   (2002-03-14 19:04:00) [5]

Функция GetVolumeInformation.


Song   (2002-03-14 18:35:00) [6]

По-моему через FindFirst можно


Наверх

Титульная страница Поиск, карта сайта Написать письмо