Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];

Вниз

Подскажите как отловаить исключение   Найти похожие ветки 

 
Алексей Коптенков   (2002-10-31 13:33) [0]

На пустую форму киньте кнопку и MaskEdit, последний отредактируйте на ввод времени, скомпильте и запустите приложение. Введите в поле к примеру _4.__.4_ выскачит исключение EDBEditError.
Мне нужно поймать это исключение и вывести другой диалог.
Куда ловушку ставить даже и не знаю.


 
REP   (2002-10-31 15:03) [1]

Если маска типа !90:00:00;1;_, то ты должен ввести все цифры, где стоят 0.
Замени все 0 на 9 - это означает, что можно вводить или не вводить цифру.
И отрабатывай по выходе из MaskEdit"a:
Function ValidTime(_Time:String):Boolean;
Var
tmp:TTime;
begin
Try
tmp:=StrToTime(_Time);
Result:=True;
Except
//ShowMessage("Не то время!!!");
Result:=False;

end;


 
Zemal   (2002-10-31 16:42) [2]

try
TmpTime := StrToTime(EDBEdit1.Text);
except
on E:EDBEditError do
begin
... // действия при возникновении исключительной ситуации
ShowMessage("Возникло исключение: "+E.Message);
end;
end;

Поставь подобный код в событие типа OnEnter своего DBEdit-а... увидишь сам чего получится :).


 
Zemal   (2002-10-31 16:44) [3]

P.S. Забыл сказать... объяви переменную TmpTime : TTime; (как в верхнем примере).


 
Алексей Коптенков   (2002-10-31 17:02) [4]

Большое спасибо


 
pusrg   (2002-10-31 17:51) [5]

To Zemal
Кстати переменную TmpTime можно не обьявлять :), если результат ф-ции StrToTime далее не используется.
компилятор спокойно схавает конструкцию
StrToTime(_Time);

Честно говоря, довольно "геморойный", этот компонент TMaskEdit :(
Я предпочитаю использовать обычный TEdit, и обрабатывать события OnKeyPress и OnExit с проверкой на ввод только нужных символов времени.


 
Zemal   (2002-10-31 18:24) [6]

>> pusrg
Совершенно верно! Молодчик! Кстати, я тоже использую простой TEdit... согласен полностью... с маской ввода геморой :(. Я вообще предпочитаю писать свои компоненты... ну типа потомка TEdit с проверкой ввода каждого символа :)... так больше уверенности в содеяном :). Ещё раз спасибо за поправку. Удачи! :)


 
evgeg   (2002-10-31 23:07) [7]

отловаить -- шедевр.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-33970
Z_man7777
2002-11-01 13:13
2002.11.11
Какой будет тип возвращаемый функцией?


14-34198
Vadim SA
2002-10-16 18:27
2002.11.11
Глюки в RXLib


1-33969
Евген
2002-10-30 12:25
2002.11.11
Обьявление переменных в разделе public


1-34099
Cossys
2002-10-31 11:53
2002.11.11
Type of expression must be BOOLEAN - что за хрень


4-34306
Shipilov
2002-10-02 01:21
2002.11.11
Удаленный доступ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский