|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.07.2011, 09:00 | #1 |
Пользователь
Регистрация: 30.06.2011
Сообщений: 13
|
проверка валидности введеного значения
Добрый день всем!
Нужна помощь - В DbGridEh происходит редактирование полей типа DateTime если ввести значение некорректно например строку "222222222222222" программа вывалится с ошибкой. То же самое с некорректным вводом в числовое поле. собственно вопрос - в каком событии (dbGrida) можно провести проверку валидности ввденого значения Ввод значений через отделные контролы не предлагать - это не приемлимо по стилю программы. Может кто то уже решал аналогичную проблему? |
20.07.2011, 14:51 | #2 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
А при чем здесь грид? У него совершенно иные задачи! Уж лучше тогда обрабатывай через try...except или через события датасета.
|
20.07.2011, 16:27 | #3 |
Пользователь
Регистрация: 30.06.2011
Сообщений: 13
|
вопрос звучал так - В КАКОМ СОБЫТИИ dbgrid (или любого другого модуля) это можно сделать ибо ошибка возникает в главной форме и мне не понятно какой собственно код я могу всунуть между try и except
|
20.07.2011, 16:52 | #4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
OnDataChange event (TDataSource) F1
Цитата:
BeforePost event (TDataSet) F1
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.07.2011 в 17:02. |
|
21.07.2011, 00:21 | #5 |
Пользователь
Регистрация: 30.06.2011
Сообщений: 13
|
спасибо evg_m за ответ по существу!
В моем конкретном случае проблема аварийного завершения программы в случае не корректного ввода даты в поле dbGridEh (ошибка конвертации) решилась вызывом пустой OnSetText компонента DataSource. (внутри процедуры нужно поставить хотя бы коментарий типа //бла бла) Редактирование поля типа DateTime в dbGridEh при этом стало происходить так же как при вызове самостоятельного контрола DbEditDtataTime - ввести не правильное значение просто невозможно. В любом случае введеное значение будет преобразовано в дату или значение поля останется без изменений. Видимо есть некоторый баг в библиотеке EhLib. При использовании стандартного dbGrid рекомендую для проверки использовать указаное evg_m событие OnChange компонента DataSource тему можно закрыть - всем спасибо! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверка валидности ICQ номеров | jone | Работа с сетью в Delphi | 14 | 19.06.2012 20:54 |
Проверка значения в ini файле | darvin232 | Общие вопросы Delphi | 2 | 10.04.2011 17:24 |
Проверка изменяющегося значения ячейки | vanandr91 | Microsoft Office Excel | 3 | 16.11.2010 19:04 |
Ошибка валидности в коде | Winlook | HTML и CSS | 4 | 27.02.2010 22:20 |
Проверка введенного значения | yourself | Microsoft Office Excel | 4 | 21.04.2008 18:40 |