Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Маска в элементе EditMask / 2 сообщений из 2, страница 1 из 1
19.10.2004, 17:10
    #32744918
Дремучий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маска в элементе EditMask
Нужна помощь заблудившемуся в трех соснах :(
Необходимо построить маску для ввода серии паспорта т.е. '## ##'. Неожиданно с этим возникли проблемы. Вариант:
Код: plaintext
this.setMask( NumericMask!, '## ##' )
мне не понравился по следущей причине - если ввести, например "12 34", а потом начать удалять по одному символу в обратном порядке, то после удаления 2 мы сталкиваемся с оригинальной ситуацией "01 00", при этом курсор между первым 0 и 1. Пользователь такого не оценит (и я его понимаю).
Соответственно я стал пробовать варианты:
Код: plaintext
this.setMask( StringMask!, '## ##' )
или
Код: plaintext
this.setMask( StringMask!, '##x##' )
и т.п.
Ничего разумного я так и не смог добиться :(.

Необходимое уточнение - т.к. должна существовать возможность работы с паспортами старого образца, вид и тип маски я устанавливаю в созданном событии (опирается на pbm_char) при вводе первого символа серии, т.е., если что, то я ЗНАЮ какую клавишу нажал пользователь (и могу принудительно запретить ввод "неверного символа"), но не знаю, где стоит курсор :(.

Если кто знает как можно, нормально, организовать ввод серии паспорта, то буду раз услышать об этом.


Кстати, есть побочная проблема - почему-то событие не срабатывает на нажатие клавиш "del" и любой из стрелок.
...
Рейтинг: 0 / 0
20.10.2004, 10:57
    #32745875
andy753
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маска в элементе EditMask
Привет!
У тебя проблема в том, что поле типа строка, а маска намерик. Вот кабы поле было числовым такой проблем не возникал (можешь проверить) :). Для этого так попробуй.
Сделай в запросе еще одно поле (можно несуществующее) но типа намерик, выключи из него Update, и настрой на маску нужного типа. В итоге если у тебя 5 типов возможных масок у поля, значит надо еще 4 поля. Каждое из полей настраивается только на свою маску. В зависимости от нужного типа, визибле стоит только на одном - все остальные невидимы, На преапдейт значение актуального поля записывается в то, которое апдейтится (обычно строкового типа)... И все - все замечательно работает - проверено :)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Маска в элементе EditMask / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]