|
|
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
На форме есть текстбокс в который необходимо ввести номер счёта. Счёт начинается с 407. Если поставить маску: 40799999999999999999, то на форме все '9' станут пробелами. А можно как-то их сделать например 'x' и при наборе заменять символ 'x' на введёную цифру? Причём должен сохраняться контроль на ввод именно цифр, а не символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 12:56 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
на форме должен быть не один текстбокс а 6 999 99 999 9 9999 9999999 3 цифры - сч.первого порядка 2 цифры - сч.2-го порядка 3 цыфры - валюта 1- контролька-ключ 4 - код банка 7 - счет 3-го порядка по контрольке нужно проверять счет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 13:06 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
repl tt with '407xxxxxxxxxxx...' inputmask = '999999999...' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 13:08 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Да на разряды разбивать не обязательно, итак введут счёт нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 14:08 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
пожалей тетенек глаза сломают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 14:26 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Ладно, тогда пойдём другим путём: Ставлю на KeyPress код: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 17:24 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
сделайте класс-контейнер в него суньте несколько текстбоксов методы ему понаделайте из 20 знаков - значения контролам присвойте и метод складывающий это взад дальше каждому контролу соответсвующие валиды опишите и всего делов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 18:03 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Определяете класс, у которого части счёта - свойства. Определяете для этого класса метод Clear(), в котором очищаете все нужные свойства. Можно также определить свойство "Весь номер счёта" и Access-метод к нему, в котором собирать весь счёт, а в Assign-Методе разбирать весь номер на составляющие. Ну и сам визуальный элемент лучше всего оформить в виде объекта типа контейнер, который потом можно смело бросать на форму. Курсор на нужное поле устанавливается с помощью SetFocus(). А вообще-то в том случае, когда пользователь ввёл некорректное значение, недружелюбно по отношению к пользователю очищать введенное значение. Представьте сколько новых слов Вы сможете придумать когда Вы ввели 20 символов, а доблестная система обнаружила ошибку и напрочь всё очистила, давай, мол, вводи заново. Правильно было бы: 1. Подсветить поле ввода, например, красным цветом; 2. Где-нибудь на форме поместить надпись "Введено некорректное значение номера счёта". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 18:06 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Igrok4Ладно, тогда пойдём другим путём: Ставлю на KeyPress код: Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. Только не забудь еще РАЗРЕШИТЬ использование клавишь со стрелками, Tab, Del, BackSpace, Enter. Все это в сочетании с разными комбинациями Ctrl, Alt, Shift. Т.е. вообще-то, лучше проверять не каждый символ в отдельности, а результат ввода. То, что получится в конце. Поставить указатель на нужный символ можно по SelStart. Нумерация позиций начинается с нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2006, 20:07 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Большое спасибо! Решил всё-таки не париться и проверять поле после ввода. Но Ваш примерчик пригодиться, взял его на заметку. Теперь возникла другая проблема: на форме есть свойство, в котором и проверяются все поля. Если всё правильно, то свойство .Т., иначе .F. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2006, 16:06 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Igrok4Так вот, при нажатии на кнопку OK в сообщении фокус иногда встаёт в нужное поле tAcnt, а иногда перескакивает в следующее. С чем это связано так и не могу понять :( А где (в каком методе) этот код отрабатывает? Случайно не в KeyPress? Тогда надо подавить реакцию на нажатие клавиши командой NODEFAULT иначе после отработки кода отработает и нажатие соответсвующей клавиши. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2006, 17:04 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Нет, к форме добавлен метод CheckFields, в котором и описаны все контроли. Метод выполняется при нажатии кнопки "записать" на форме. Если он возвращает истину, происходит запись в базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2006, 17:20 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Не правильно написал в посте: авторТеперь возникла другая проблема: на форме есть свойство, в котором и проверяются все поля. Если всё правильно, то свойство .Т., иначе .F. Это метод, а не свойство. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2006, 17:22 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
По Object.SetFocus() отработает еще и Object.When() и Object.GotFocus(). Там никакого кода нет? "Сам по себе" фокус перескакивать не может. Либо в буфере клавиатуры осталась нажатая клавиша (например, несколько раз нажали клавишу Enter для закрытия MessageBox), либо есть какой-то дополнительный код принудительно переводящий фокус на другой объект. Ну, еще возможно Object.Enabled = .F. Тогда объект просто не может получить фокус и команда SetFocus() игнорируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2006, 17:45 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Блин, понял в чём фишка! Но не понял как исправить :( На форме есть кнопка "Записать", а на событие KeyPress в последнем поле ввода на форме стоит код: Код: plaintext 1. 2. Так вот, если в последнем поле ввода нажать Enter, тогда фокус перескочит на одно поле вперёд. А если ввести в последнее поле данные, а потом кликнуть мышкой на кнопку "Записать", тогда фокус встаёт в указанное поле. И как с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2006, 10:05 |
|
||
|
Маска номера счета
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2006, 11:22 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34228796&tid=1590083]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 260ms |
| total: | 387ms |

| 0 / 0 |
