СообЧа > База Знаний > Программирование > Delphi

Вопрос

Как избежать или отловить ошибку недоступности диска в DriveComboBox'е?

Ответ

Данный пример работает точно в WinХР и 98. Вместо 'W' можешь подставить строковую переменную (имя диска) в любом регистре. Я специально взял 'W' в качестве имени диска, т.к. его у меня точно нет, а там в комбо сам мудри на какую букву привязать (вставляй в событие OnChange).

var
    DrvNum: byte;
    EMode: Word;
    result: Bool;
begin
    result := false;
    DrvNum := ord('W');
    If DrvNum >= ord('w')
    Then dec(DrvNum,$20);
    EMode := SetErrorMode(SEM_FAILCRITICALERRORS);

    try
    If DiskSize(DrvNum-$40) <> -1
     Then result := true
     else messagebeep(0);
    finally
    SetErrorMode(EMode);
    end;

    If result = True
  Then Label1.Caption := 'Диск готов'
  Else Label1.Caption := 'Диск не готов';
end;

Soldatov Sergey Viktorovich



Copyright © 2000-2004 Сообщество Чайников
Контактная информация