Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
9-371
mad_mike
2002-11-26 17:43
2003.05.01
X под 6


1-576
Ptr
2003-04-18 13:25
2003.05.01
Обработчик OnKeyDown.


1-569
ctapik
2003-04-17 19:01
2003.05.01
Ка это побороть?


3-475
xxxCrazyManxxx
2003-04-14 15:36
2003.05.01
Сортировка в DBGrid


14-672
uw
2003-04-11 21:43
2003.05.01
Что-то у меня заклинило





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский