Текущий архив: 2008.11.30;
Скачать: CL | DM;
Вниз
Маска ввода Найти похожие ветки
← →
Mery (2008-10-21 07:50) [0]Здравствуйте!
Моя проблема в следующем: для компонента DBEdit использую маску ввода (точнее для поля F1, связь с которым через DBEdit1, прописываю EditMask 000\-000\-000\ 00;1;_). При этом, если пользователь используя кнопку delete или backspace очищает данные в этом поле, то выдаётся сообщение:Invalid input value. Use escape kay to abandon changes. Т.е. сброс данных в этом поле только кнопкой Esсkape. Но это не удобно. Хотелось бы знать, каким образом можно эту проблему обойти? И каким образом вы задаёте маску ввода для поля.
← →
Anatoly Podgoretsky © (2008-10-21 09:38) [1]> Mery (21.10.2008 7:50:00) [0]
Очень просто, убираю маску, с текущей реализацией масок работать неудобно.
← →
Ega23 © (2008-10-21 09:59) [2]
> И каким образом вы задаёте маску ввода для поля.
Берёшь обычный TEdit, а потом проверяешь, правильно введено значение, или нет. Неправильно - сообщаешь пользователю об этом и ставишь фокус на нём. Правильно - пишешь в БД.
Только так.
← →
clickmaker © (2008-10-21 13:54) [3]можно и DBEdit, а проверку делать в TField.OnValidate
← →
Anatoly Podgoretsky © (2008-10-21 15:32) [4]> clickmaker (21.10.2008 13:54:03) [3]
Это красиво, особенно когда нет кнопки выхода (Cancel) из диалога/формы.
← →
Mery (2008-10-22 07:17) [5]>Берёшь обычный TEdit
хорошо.
но нужно, чтобы в Tedit уже сояла маска для ввода: например, чтобы в нем по умолчанию перед заполнением уже 3 и 6 символ был, к примеру, тире.
Если в этом случае использовать TMaskEdit, то проблема освящённая в моём вопросе остаётся той же:опять Esckape и неудобства при очистке данных.
Страницы: 1 вся ветка
Текущий архив: 2008.11.30;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c