Форум: "Основная";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
Вниз!!!! Компонент DriveComboBox Найти похожие ветки
← →
Kotenochek (2003-04-18 12:21) [0]Подскажите, пожалуйста, как выдать свое собственное сообщение об ошибке, если пользователь выбрал диск, который не доступен в списке компонента DriveComboBox:
1) например если в дисководе или сидироме нет диска, то как обработать событие при выборе соответствующего диска в списке?
2) Данный компонент показывает в своем списке все диски которые подключены в ОС. Если вдруг в процессе работы отключится сетевой диск как в этом случае это событие перехватить?
3) Какое свойство определяет что в списке компонента именно такие диски?
← →
Anatoly Podgoretsky (2003-04-18 12:27) [1]ShowMessage
← →
Dms (2003-04-18 12:29) [2]Возможно надо обработать OnChange с последующей самостоятельной проверкой доступности диска.
← →
Kotenochek (2003-04-18 12:37) [3]Вот я и не знаю как проверить доступность диска?
← →
Palladin (2003-04-18 12:41) [4]try
except
end
+ Anatoly Podgoretsky © (18.04.03 12:27)
не на все на свете есть свойства...
← →
Anatoly Podgoretsky (2003-04-18 12:44) [5]Что бы узнать, надо обратиться к нему и далее в зависимости от результата.
← →
Dms (2003-04-18 12:45) [6]
var
tmpS : string;
isError : boolean;
begin
tmpS:=GetCurrentDir;
isError:=not SetCurrentDir("c:\");
SetCurrentDir(tmpS);
if isError then MessageDlg("Диск H: недоступен", mtError, [mbOk], 0);
end;
← →
Dms (2003-04-18 12:46) [7]isError:=not SetCurrentDir("h:\");
конечно надо так :)
← →
Kotenochek (2003-04-18 12:50) [8]Не могли бы Вы (Dms) объяснить строчку isError:=not SetCurrentDir("c:\")?
← →
Kotenochek (2003-04-18 12:51) [9]Вопрос: если я заранее не знаю какими буквами диски называются то как тогда быть?
← →
Dms (2003-04-18 12:53) [10]ну что ж ...
isError:=not SetCurrentDir("h:\")?
пытается изменить текущую директорию на h:\ и если все проходит удачно, то выдает true (isError, соответственно, false)
← →
Kotenochek (2003-04-18 13:10) [11]Все равно не работает!
← →
Anatoly Podgoretsky (2003-04-18 13:12) [12]Да беда, а почему ты думаешь, что не работает?
← →
Dms (2003-04-18 13:16) [13]от нечего делать написал ... все работает
procedure TForm1.DriveComboBox1Change(Sender: TObject);
var
tmpS : string;
tmpDisk : array [0..MAX_PATH-1] of char;
isError : boolean;
begin
tmpS:=GetCurrentDir;
isError:=not SetCurrentDir((Sender as TDriveComboBox).Drive+":\");
SetCurrentDir(tmpS);
if isError then begin
MessageDlg("Диск недоступен", mtError, [mbOk], 0);
GetWindowsDirectory(@tmpDisk, MAX_PATH);
(Sender as TDriveComboBox).Drive:=tmpDisk[0];
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c