Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 865

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
хочу узнать есть ли диск в приводе. использую функцию
Result := GetDiskFreeSpace(path,
SectorsPerCluster,
BytesPerSector,
NumberOfFreeClusters,
TotalNumberOfClusters);
в случае отсутствия диска в приводе выскакивает сообщение "---------------------------
Clientapplicationproject: ClientApplicationProject.exe - Диск отсутствует
---------------------------
В устройстве нет диска. Вставьте диск в устройство F:.
---------------------------
Отмена Повторить Продолжить
---------------------------
"
как избежать вывода этого сообщения?

AlexMPEI Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: 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

AlexMPEI (статус: 1-ый класс), 9 марта 2010, 16:56 [#2]:

Паровоз: спасибо, работает!

Вадим К: пробовал. это не эксепшн, а диалог, поэтому не попадает в эксепт.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.02 сек.