Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите разобраться с форматной маской [D6, Oracle]


Андрусь ©   (2002-10-03 19:29:00) 

Привет всем!Посоветуйте,что здесь лучше сделать.Есть в базе поле типа Number(8,2)(8 цифирь-точность(всего),2 после зпт).Юзвера нужно оградить от возможности вводить лажу. Как вариант ставлю форматную маску:!999999,99;1;_; Сразу же неудобства в работе - мне нужно быстро ввести 1,1 вводим - в редакторе отображ.
1_____,_1.Что естественно в базу идти не хотит.Далее со знаком - оставлять ещё символ - тоже некрасиво. Писать обработчик на ввод текста на OnKeyPress не очень хотится.Посоветуйти как это победить. Зараннее всем большое спасибо.


ak75   (2002-10-04 16:04:00) [1]

У меня была почти такая же проблема с вводом в базу цены и заказа:
цена-цифры,",",два знака после запятой, заказ-цифры,",",три знака после запятой. Так вот для TField поля цены я писал в свойстве DisplyFormat 0.## в EditFormat 0.##. А для Заказа соответственно 0.### и 0.###.


Андрусь   (2002-10-04 10:12:00) [2]

>Johnny Smith
Тут немного дальше TEdita...
>MsGuns ©
Пишу форматную маску на TField.EditFormat того же плана - никакой реакции - только ошибка вставки из базы.
В принципе вывернуться довольно просто - написать обработчик на OnValidate. Но... Ситуация очень стандартная и должны же быть в Дельфях предусмотрены более простые способы решения этой проблемы.


Johnny Smith   (2002-10-04 09:19:00) [3]

2Андрусь © (03.10.02 19:29)
Можешь попробовать сам написать соответствующий обработчик TEdid"а, а если влом, то посмотри готовые компоненты на TORRY.


MsGuns   (2002-10-03 22:41:00) [4]

А TField.EditFormat не подходит ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо