Вниз
Скачать: CL | DM;

!!!! Компонент 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.009 c
3-433
Filat
2003-04-10 20:31
2003.05.01
База Firebird - DBGrid?


3-404
Mefisto
2003-04-11 10:15
2003.05.01
SQL в DBF


3-407
Builder
2003-04-11 13:20
2003.05.01
Пустые строки в Access


3-406
anton2v
2003-04-11 14:47
2003.05.01
Программное задание IDLanguage


6-671
oficer
2003-03-06 17:04
2003.05.01
Определение времени прибывания в инете




   Наверх