Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.01;
Скачать: 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 вся ветка

Текущий архив: 2003.05.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
3-398
v.topalov
2003-04-11 11:53
2003.05.01
Не работает запрос


14-684
Sergik
2003-04-16 10:42
2003.05.01
Книга


7-816
SB
2003-03-11 15:37
2003.05.01
Падает print диалог в Windows XP


14-685
Anonimus
2003-04-11 10:41
2003.05.01
Смена иконки


14-708
paranoid
2003-04-12 20:10
2003.05.01
Помогите! Очень срочно! как отловить все, что пользователь вводит