Показать сообщение отдельно
  #1  
Старый 04.12.2011, 23:08
Аватар для Ranmabaka
Ranmabaka Ranmabaka вне форума
Прохожий
 
Регистрация: 04.12.2011
Сообщения: 5
Репутация: 10
Вопрос Ограничение ввода количества цифр до и после точки

Здравствуйте!
Есть программа которая считывает построчно данные из файла (только цифры) и записывает каждую строку в отдельный memo. Потом данные в каждом memo редактируются и записываются обратно в файл. И возник вопрос, как сделать так чтобы пользователь при редактировании данных в memo не смог ввести больше шести цифр до точки и не более трех цифр после точки, при этом если он ,к примеру, уже ввел шесть цифр, то пока он не поставит точку оставшиеся три цифры он ввести не сможет.
Например, в mmo1 записано число "123456.789" и пользователь изменяет его на "7654321.77789" (7 цифр до точки и 5 после) и это у него не должно получится т.е. он сможет ввести только "765432" (шесть цифр) и пока точку не поставит ввести "77789" он не сможет, но и "77789" он тоже не должет суметь ввести, а как только он введет "777" (три цифры) то дальнейший ввод данных уже будет не возможен.
Я уже сделал так что можно вводить только цифры и только одну точку, а вот как быть с ограничениями на ввод данных не могу разобраться. Может кто уже сталкивался с похожим? Подскажите решение пожалуйста.

P.S. Первое число не обязательно должно быть шесть цифр так же как и второе не обязательно три т.е. может быть "101.54" или даже "0." (точка и хотя бы одно число перед точкой всегда должны быть обязательно).
P.S.S. Вариант "сделать проверку при записи в файл и если что дергать пользователя" не подходит т.к. нужно делать проверку именно в процессе редактирования.
Ответить с цитированием