Вниз
Скачать: 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.01 c
3-383
iKS
2003-04-14 16:22
2003.05.01
Разрыв соединения


11-490
zetta
2002-07-25 12:44
2003.05.01
а так можно? почему-то ошибка 216 выскакивает


3-479
vil
2003-04-14 14:56
2003.05.01
AdoQuery


14-730
td
2003-04-13 13:07
2003.05.01
опять про запрос


1-548
Sergik
2003-04-17 16:41
2003.05.01
ComboBox




   Наверх