|
Вопрос # 3 865/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
хочу узнать есть ли диск в приводе. использую функцию
Result := GetDiskFreeSpace(path,
SectorsPerCluster,
BytesPerSector,
NumberOfFreeClusters,
TotalNumberOfClusters);
в случае отсутствия диска в приводе выскакивает сообщение "---------------------------
Clientapplicationproject: ClientApplicationProject.exe - Диск отсутствует
---------------------------
В устройстве нет диска. Вставьте диск в устройство F:.
---------------------------
Отмена Повторить Продолжить
---------------------------
"
как избежать вывода этого сообщения?
 |
Вопрос задал: AlexMPEI (статус: 1-ый класс)
Вопрос отправлен: 9 марта 2010, 16:22
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Паровоз
Здравствуйте, AlexMPEI!
function DiskPresent(Drive:Byte):Boolean;
//Drive 0 = Current, 1 = A, 2 = B, ...
var
OldMode:Word;
begin
Result:=False;
OldMode:=SetErrorMode(SEM_FAILCRITICALERRORS);
try
if DiskSize(Drive)<>-1 then Result:=True;
finally
SetErrorMode(OldMode);
end
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
If DiskPresent(6)//F
then Edit1.Text:='Drive is Ready'
else Edit1.Text:='Drive is not Ready';
end;
 |
Ответ отправил: Паровоз (статус: 10-ый класс)
Время отправки: 9 марта 2010, 16:43
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 9 марта 2010, 16:56; участников в обсуждении: 2.
|
Вадим К (статус: Академик), 9 марта 2010, 16:35 [#1]:
try - except?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
AlexMPEI (статус: 1-ый класс), 9 марта 2010, 16:56 [#2]:
Паровоз: спасибо, работает!
Вадим К: пробовал. это не эксепшн, а диалог, поэтому не попадает в эксепт.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|