![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 410
|
![]()
Есть компонент для ввода даты MaskEdit. Его свойство EditMask выглядет так: !90/90/0000;1;_
т.е полезователь должен ввести месяц (90), день (90) и год (0000); В последствии все эти три числа присваиваются переменным m, d, y. Год задается четырьмя цифрами. Но если пользователь задаст три цифры, например 201, то появляется сообщение об ошибке. Можно ли эту ошибку обработать программно и вместо нее вывести например диалоговое окно MessageBox, где будет написано, что надо задать все 4 цифры.
ICQ: 593-013-807
|
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Проверяйте количество сиволов после второго слэша.
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
try except end отменили?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 03.10.2010
Сообщений: 77
|
![]()
А зачем изобретать велосипед, если отличный компонент DateEdit уже существует?
Когда-то он был в библиотеке RX, теперь - в JEDI. Поставьте - и не мучайтесь!
По соотношению цена-качество, халявное пиво не имеет конкурентов.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
Самое простое, разумеется, применить TDateTimePicker и не париться.
Но если никак и MaskEdit свет в окошке, то не делать обязательным ввод всех символов (с этим компонентом шутки плохи). В маске для даты использовать 90.90.9999. Затем проверять "вручную" правильность заполнения в событии OnExit MaskEdit (TryStrToDate). Там же и дать пользователю по рукам, если не так или не все ввел, вернув обратно фокус ввода. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 05.04.2010
Сообщений: 410
|
![]()
[QUOTE]try except end отменили? [QUOTE]
а какое исключение при этом генерируется?
ICQ: 593-013-807
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 17.02.2010
Сообщений: 399
|
![]()
не скажу что это самый лучший способ но когда то яделал так...
в Edit'е была маска даты "01.01.2010" длина строки 10 символов можно просто поставить проверку если длина текста Edit не 10 символов то выдаем сообщение "введена неправильная дата" |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сообщение об ошибке... | Arinka | Помощь студентам | 9 | 25.05.2010 16:58 |
MaskEdit - вывод об ошибке. | lutdan | Компоненты Delphi | 2 | 29.10.2009 09:29 |
Сообщение об ошибке | ruavia3 | Microsoft Office Excel | 3 | 13.10.2009 23:10 |
Сообщение об ошибке | Kreadlling | Общие вопросы C/C++ | 3 | 08.09.2009 13:30 |
Сообщение об ошибке! | QWERT1988 | Общие вопросы Delphi | 4 | 01.06.2009 17:14 |