Подскажите алгоритм ввода только допустимых чисел с клавиатуры. Formex. #282324


#0 by svsrus
Formex. Отлавливаю нажатие клавиш в форме. Пользователь должен ввести сумму оплаты. Как исключить ошибки ввода оператором. Начал делать так, но как то сложно. Может можно как-то использовать Формат, Число: Впринципе работает. Но нужно отловить запрет на нажатие второй точки и кол-ва знаков после запятой до 2-ух.
#1 by IUnknown
#2 by АЛьФ
2 А не проще повесить числовое поле?..
#3 by svsrus
Оба... точно, даже не подумал. А то такой огород намутил. Чувствовал, что проще можно. Спасибо.
#4 by svsrus
Изначально весело:) Просто кассир слепой. Решил сделать как в магазинах, на пол-экрана:) Т.е. число выводится как текстовая метка на форме...
#5 by DF_Slayer
А что это дает?
#6 by IUnknown
#7 by АЛьФ
2 ЧТо мешает сделать числовое поле на полэкрана?
#8 by svsrus
Красиво... Удобно черт побъери, не надо мышкой(клавиатурой) сначала тыкать на числовое поле, а потом вводить. Конечно есть Активизировать но не то.
#9 by svsrus
Как? Через Формекс? Я просто толко вчера начал формекс изучать. Пока остановился на отлове нажатий клавы. В дальнейших планах расскраска таблиц.
#10 by АЛьФ
2 Можно и без FormEx. Просто устанавливаешь на форму гигантский шрифт.
#11 by IUnknown
И имеешь его ввезде. В кнопках, таблицах, списках
#12 by АЛьФ
2 Если это надо именно для ввода числа слепым оператором, то вполне можно сделать отдельную обработку только с числовым полем и использовать ее по типа ВвестиЧисло.
#13 by svsrus
Не так не пойдет:) Изначально было числовое поле с дублированием большим текстом на форме. Но как то не смотрится... Да и фокус теряется при нажатии таб или ентера. Собственно поэтому и пришлось начинать юзать Formex. Понравилось:) Альф: Объект АтрибутФормы смотрю имеет свойство цвет шрифта, а размер?
#14 by АЛьФ
2 Размер можно задать через: Шрифт Font Синтаксис: Шрифт Назначение: Доступ к шрифту атрибута. Содержит код шрифта. Атрибут для чтения/записи. Новый шрифт можно создать методом СоздатьШрифт(...) / CreateFont(...) или СоздатьШрифтНаОсновании(...) / CreateFontCausedBy(...).
#15 by svsrus
Спасибо. Пойду доловлю нажатие клавиш...
#16 by svsrus
Хм... Имею две формы, одна открывается модально, другая нет. Та которая открывается стандартно почему-то иногда за раз отрабатывает два нажатия клавиши, хотя нажимал один раз. Вместо "5" набирает "55". В модальной же форме пока такого не замечаю. Как побороть? Юзать ПриОтжатии ?
#17 by svsrus
Кто-нибудь может предложить другой алгоритм формирования из строки числа? см . Вот курю Число Формат уже часа полтора. Чую что где-то рядом, но все никак...
#18 by АЛьФ
Еще раз спрошу: почему бы не воспользоваться обычным числовым полем? Зачем весь этот гемор с обработкой клавиатуры?
#19 by Ёпрст2
Или строковый реквизит + маска ...
#20 by Chieftain
#21 by Chieftain
+Так делал
#22 by svsrus
АЛьФ, уже не важно. Теперь мне просто интересно написать функцию, ввода чисел. Вот задался целью и все. Ты лучше мне на ответь.
#23 by svsrus
А зачем ФСО = 0?
#24 by Chieftain
Чтобы не отрабатывало стандартное действие для кнопок. У меня просто еще и в ТЗ на форме так же вводилось
#25 by Chieftain
+И быстый поиск в ТЗ был не нужен
#26 by svsrus
Вот, пытаюсь сам написать некую функцию, как маска....
#27 by IUnknown
А что не взлетает?
#28 by svsrus
взлетает. Но только коло-во знаков после запятой не контролиреут. Доделать модно конечно. Но че-то меня торнуло на Число и Формат :)
#29 by Chieftain
Как раз для контроля количетва знаков после запятой и делал
#30 by svsrus
Мозг думает :)
#31 by IUnknown
как?
#32 by svsrus
Все конечно хорошо. Но, отлов нажатия идет посимвольно, и когда пользователь нажмет ".", а дальше пока не будет. Или сразу нажмет "."? Лана, щас на обед, надо зарядить мозг:))
#33 by IUnknown
У меня формекса нету и ставить я себе его не хочу. Ввод по символам я тебе за эмулил циклом.
#34 by svsrus
А почему не хочешь?
#35 by IUnknown
релегия мне не позволяет
#36 by svsrus
Фух... Что-то я устал думать. Вот что наваял. Получилось красиво:)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С