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

Вниз

Как определить есть ли в приводе диск???   Найти похожие ветки 

 
Zloy SHREK   (2005-01-27 23:26) [0]

Никак не могу правильно определить есть ли в приводе диск или нет, ну точнее могу, но коряво. Я пытаюсь найти по адресу привода (например H:\ ) хотябы один файл или папку. Но проблема в том что если диска в приводе нет - возникает ошибка "Вставьте диск.".
Как грамотно определить есть в приводе диск или нет?


 
Просто Джо ©   (2005-01-28 00:00) [1]

Не претендуя быть шибко грамотным предлагаю использовать
GetVolumeInformation


 
Просто Джо ©   (2005-01-28 00:03) [2]

Или, например, GetDriveType


 
Просто Джо ©   (2005-01-28 00:07) [3]

Нет, GetDriveType снимается.
Остается GetVolumeInformation


 
GanibalLector ©   (2005-01-28 00:34) [4]

Ну да,можно.Так вроде :

var MaximumComponentLength,FileSystemFlags:DWord;
begin
SetErrorMode(SEM_FAILCRITICALERRORS);
if GetVolumeInformation(Pchar("A:\"),nil,0,
nil,MaximumComponentLength,FileSystemFlags,nil,0)=true then
messagedlg("Что-то есть",mtinformation,[mbok],0)
else
messagedlg("Путо",mtinformation,[mbok],0)


Только вот не знаю,что будет если засунуть неотформ.дискету.


 
GanibalLector ©   (2005-01-28 00:36) [5]

2 GanibalLector ©   (28.01.05 00:34) [4]
>Только вот не знаю,что будет если засунуть неотформ.дискету
Хотя,можно использовать GetDiskFreeSpaceEx и узнать кол-во секторов и прочего.


 
Просто Джо ©   (2005-01-28 01:08) [6]


> [4] GanibalLector ©


Имхо
SetErrorMode(SEM_FAILCRITICALERRORS);
лишнее.

"Достаточно одной таблэтки" (с


 
Zloy SHREK   (2005-01-28 02:02) [7]

ВСЕМ БОЛЬШОЕ СПАСИБО!!!

УРА!!! ЗАРАБОТАЛО!!!


 
GanibalLector ©   (2005-01-28 02:38) [8]

2 Zloy SHREK   (28.01.05 02:02) [7]
Ты сильно не радуйся,ибо A:\ может и не быть!Или быть,но с другой буквой...вариаций ОЧЕНЬ много.
Поэтому,сперва используем GetDriveType и сравниваем с DRIVE_REMOVABLE.Если оно,то  GetVolumeInformation.И в самом конце,узнаешь кол-во секторов и прочего(ибо диске может быть неотформ.или вообще не рабочая).



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

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

Наверх




Память: 0.48 MB
Время: 0.061 c
3-1105693674
Vantage-10
2005-01-14 12:07
2005.02.13
Подсчет количества записей по значениям


4-1103274786
TankMan
2004-12-17 12:13
2005.02.13
Как получить доступ к BIOS-у из WinNT (а еще и из Win9X)?


14-1106554532
Prohodil Mimo
2005-01-24 11:15
2005.02.13
Где достать инфу по работе с кассовыми аппаратами?


1-1107027485
ShimON
2005-01-29 22:38
2005.02.13
Как достать объект из ListItem


14-1106272166
default
2005-01-21 04:49
2005.02.13
Эврика! Наконец-то я нашёл линейный алгоритм пятничной задачки!