AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.12.2003, 10:18   #1  
r25 is offline
r25
Участник
 
22 / 10 (1) +
Регистрация: 10.04.2003
Адрес: Москва
? StringEdit - ввод по маске. Как?
Необходимо в стандартном StringEdit вводить данные по определенному формату - положим 123-45-67, то есть пользоватнель должен вводить только 1234567. Как сделать. Заранее спасибо.
__________________
С уважением, Роман Н.
Старый 08.12.2003, 12:18   #2  
a.kopytin is offline
a.kopytin
Участник
 
11 / 10 (1) +
Регистрация: 06.11.2003
Можно использовать edit метод либо на таблице, либо на датасорсе.
Но лучше создать группу из трех полей (для данного примера).
Старый 08.12.2003, 16:51   #3  
r25 is offline
r25
Участник
 
22 / 10 (1) +
Регистрация: 10.04.2003
Адрес: Москва
не, не. просто контрол без DataSource. не нужно и трех полей. нужен просто шаблон ввода так же как вводиться дата, например. Пробовал перехватить textChange() но там проблемы с позиционированием курсора...
Ну неужели нет простого приема, такая же тривиальная вещь....
__________________
С уважением, Роман Н.
Старый 08.12.2003, 18:10   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Тогда Edit-метод на форме. Что может быть проще? Будет работать точно так же, как и поле для даты: пользователь вводит последовательность, прыгает в другое поле, текст при этом форматируется.
Старый 08.12.2003, 19:25   #5  
r25 is offline
r25
Участник
 
22 / 10 (1) +
Регистрация: 10.04.2003
Адрес: Москва
да, уж....
мне не нужно когда пользователь перепрыгнет на другой элемент, нужно в процессе ввод, это же так просто, в поле горит " - - " пользователь вводит "123" курсор перескакивает через "-" пользователь вводит "45" и т.д.
__________________
С уважением, Роман Н.
Старый 08.12.2003, 19:30   #6  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Ну сделайте тогда группу из трёх полей как вам предлагали - после заполнения первого поля автоматически пусть перескакивает на следующий.
__________________
С уважением, Игорь Ласийчук.
Старый 10.12.2003, 11:07   #7  
r25 is offline
r25
Участник
 
22 / 10 (1) +
Регистрация: 10.04.2003
Адрес: Москва
[QUOTE]Изначально опубликовано r25
.....не, не. просто контрол без DataSource. не нужно и трех полей. нужен просто шаблон ввода так же как вводиться дата, например. ...[/QUOTE
__________________
С уважением, Роман Н.
Старый 10.12.2003, 12:41   #8  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Цитата:
Изначально опубликовано r25
Пробовал перехватить textChange() но там проблемы с позиционированием курсора...
Проблемы с позиционированием курсора можно решить, например, используя метод setSelection(cursorPos, cursorPos). В cursorPos помещаем вычисленное ручками новое положение курсора...
Старый 10.12.2003, 16:11   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано r25
...так же как вводиться дата, например...
А это где она так вводится, извините?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 15.12.2003, 15:28   #10  
YVAS is offline
YVAS
1C
Аватар для YVAS
1C
 
265 / 10 (1) +
Регистрация: 31.07.2003
В общем, как я понял, простого выхода из этой ситуации нет. Действительно, такая простая и кстати нужная вещь.....
Старый 16.12.2003, 17:30   #11  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
Цитата:
Изначально опубликовано Garic
Ну сделайте тогда группу из трёх полей как вам предлагали - после заполнения первого поля автоматически пусть перескакивает на следующий.
три контрола в грид не вставишь.
если сделаете через textChange
Цитата:
используя метод setSelection(cursorPos, cursorPos)
то кладите в прокты, если не жалко :), действительно полезная вещь
Старый 16.12.2003, 17:52   #12  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано maxsmirnov
три контрола в грид не вставишь.
А что мешает?
Цитата:
Изначально опубликовано maxsmirnov
действительно полезная вещь
В моем рейтинге по показателю полезность/трудоемкость она бы где-то во второй сотне оказалась. Поверьте, в основном не из-за трудоемкости
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 16.12.2003, 17:56   #13  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Цитата:
три контрола в грид не вставишь.
А у тебя в гриде обычно больше двух не набирается?

Цитата:
то кладите в прокты, если не жалко , действительно полезная вещь
Залезь в проект HB_P042 (АРМ кассира) и посмотри как это делается при возвратах при вводе времени.
Если есть лишнее время и терпение, обобщи и выложи сам в проекты.
__________________
С уважением, Игорь Ласийчук.
Старый 16.12.2003, 17:59   #14  
bascomo is offline
bascomo
Участник
 
51 / 10 (1) +
Регистрация: 11.02.2003
Адрес: Москва
Да уж...
ВЕЩЬ-ТО ДЕЙСТВИТЕЛЬНО НУЖНАЯ.
ДЛЯ ДУРАЧКОВ.

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

Кстати, из-за таких вещей, как описанная выше, проекты по внедрению заваливают.

И опытные консультанты это хорошо знают. они таких пользователей сразу посылают далеко и надолго. И правильно поступают.

Система не создаётся для того, чтобы ВВОДИТЬ информацию.
Система создаётся, чтобы эту информацию анализировать.

Так что совет в данной ситуации очевиден.
Старый 16.12.2003, 20:59   #15  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Кстати, из-за таких вещей, как описанная выше, проекты по внедрению заваливают.
Эт верно. Фантастическая трата недешевого, в общем, времени программиста впустую.

Цитата:
Система не создаётся для того, чтобы ВВОДИТЬ информацию.
Система создаётся, чтобы эту информацию анализировать.
Да неужели!? Вот тут пальцем в небо. Система создается, прежде всего, для того, чтобы рассчитывать, вводить, хранить и искать. Примерно в такой последовательности. А для анализа Аксапта как раз малопригодна, хотя есть системы и помощнее.
Старый 16.12.2003, 21:40   #16  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,254 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Изначально опубликовано YVAS
В общем, как я понял, простого выхода из этой ситуации нет. Действительно, такая простая и кстати нужная вещь.....
Интересно, какой средой разработки вы пользовались ранее, раз у вас сложилось мнение, что подобные вещи делаются просто?
Старый 17.12.2003, 11:09   #17  
SnowMan is offline
SnowMan
Участник
 
57 / 10 (1) +
Регистрация: 15.08.2003
Адрес: Москва
Цитата:
Изначально опубликовано macklakov

Интересно, какой средой разработки вы пользовались ранее, раз у вас сложилось мнение, что подобные вещи делаются просто?
Например в PowerBuilder'е ввод по маске делается не просто, а очень просто... потому что такая возможность (объект EditMask) предусмотрена средством разработки. Он может быть помещен как в грид так и просто находится на форме в виде отдельного контрола.
Оператору удобнее вводить в поле с номером телефона цифры 9166568899, вместо строки (916)656-88-99
В данном случае маска будет выглядеть так (###)###-##-##, где # есть чило, и кроме числа данная позиция ничего принять не может.
Пользователь же при начале ввода будет видеть (000)000-00-00

To r25:
Считаю, что вариант предложенный EVGL наименее затратный в данном случае.
__________________
Дмитрий Гришин
Старый 17.12.2003, 11:44   #18  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Проблема в том, что в Axapta мы не можем создать свой элемент управления, а вынуждены пользоваться готовым набором. Ловить методы элемента управления и формы и проводить наложение маски не эффективно. Если посмотреть как устроен подобный элемент в том же Delphi, то представление о внешней простоте рассеется.
Можно конечно создать ActiveX обертку такого компонента и поместить в Axapta, но минусы такого подхода очевидны и не раз обсуждались на этом форуме.
Однако я категорически не согласен с теми, кто не считает использование подобных компонентов полезным. Контроль вводимой информации и создание дружественного интерфейса пользователя - это не такие уж маловажные задачи.
В качестве примера системы, где ввод по маске неплохо реализован могу привести Planinum SQL. А вообще, если бы в четверке добавили такой контрол, также как в трешке был добавлен Progress Bar, то было бы не плохо ....
Старый 17.12.2003, 12:53   #19  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
Эх, время мое драгоценное...
Не все компании умеют на 100% использовать время программеров, и появляется время когда вроде никто от тебя ничего не требует делать, но и домой пойти нельзя.

Даже
Цитата:
Изначально опубликовано bascomo
опытные консультанты
выкраивают порой кусок свободного времени и заходят на программерские ветки в форуме... молодость, наверное, вспоминают...

Цитата:
Изначально опубликовано Maxim Gorbunov
А что мешает?
Три контрола не вставить в грид так чтобы они выглядели как один с маской.

Я положил решение очень похожей проблемы в проекты.
http://www.axforum.info/forums/showt...&threadid=4044
Старый 17.12.2003, 13:32   #20  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Приятно узнать, что у Вас ничего не меняется.

До сих пор с содроганием вспоминаю времена, когда из-за разукрашивания всяких разных форм в Axapta (необходимость таких модификаций мотивировалась точно так же, как это делает dn) и прочей подобной дребедени, сроки внедрения были сорваны, уволена куча народу, а система заработала на полгода позже плана.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить выделенный текст из StringEdit Lucky13 DAX: Программирование 16 12.08.2008 11:56
DataSources и StringEdit на форме Poleax DAX: Программирование 3 16.05.2008 11:32
Ruslan Goncharov: Dynamic enabled() property for StringEdit and arrows Blog bot DAX Blogs 0 18.04.2008 20:05
Запретить ввод Eldar9x DAX: Программирование 6 10.07.2007 12:45
Как заполнить StringEdit при открытии формы SSlavon DAX: Программирование 11 13.04.2005 17:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:07.