Главная страница
    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.008 c
1-33925
kull
2002-10-30 11:26
2002.11.11
Как в Word-e пробежаться по всем объектам?


3-33889
AM
2002-10-22 13:43
2002.11.11
Как заставить НД не обманывать?


1-33960
Tornado
2002-10-31 16:11
2002.11.11
DOS-команда


14-34191
pomka
2002-10-21 17:33
2002.11.11
Помогите кто может, плиз!!!!!!!!!!!!!!!!!!!!!!


7-34278
Flash 5
2002-09-07 15:27
2002.11.11
Flash texnologia!





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