Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
Привет всем!

Может вопрос и глупый, но попытки с наскока не дали возможности подобрать интересующую маску.
Хочется задать такую маску на поле ввода EditMask (column в freeForm DataWindow) чтоб можно было ввести любое число, при этом не заморачиваясь кол-вом разрядов до и после запятой. Например, хочется вводить такие цифры
22
6600000
175.5

Подскажите - можно ли задать такую маску, чтоб ввод таких значений был удобен и не заставлял заполнять маску полностью?
Задание например вот такой маски: #######0.00 не дает удобства ввести 175.5, поскольку появляется пустое место после 175 до всегда стоящей точки. Можно ли как-то сделать так, например, чтоб точка появлялась только когда пользователь ее нажимает (т.е. по необходимости)? Думаю, такой способ убрал бы непривлекательность поля с маской ввода. Или может надо задать просто другую маску?

ПС: PowerBuilder 9.3

Заранее спасибо за ответ
19 янв 10, 13:58    [8208503]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Может тогда маску динамически менять?
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
19 янв 10, 14:06    [8208578]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Riska
Member

Откуда: Израиль
Сообщений: 989
spas2001,
Можно без маски. Только логику довесить на изменения.
19 янв 10, 15:30    [8209405]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Тоже вариант, на editchanged
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
19 янв 10, 16:15    [8209866]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
Бр-р-р, какую логику?? Типа маску проверять самому?
19 янв 10, 16:34    [8210023]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
Поставить режим ввода - edit (не editMask) и в случае попытки ввода чего-то кроме цифр и точек - удалять?
19 янв 10, 16:51    [8210180]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Ну примерно так
Воспользуйтесь match и actioncode (return ... )
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
19 янв 10, 16:59    [8210253]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
а что есть actioncode? посмотрел в хелпе - кроме action ничего не нашел... И то - приемлемо только для кнопок... Или Вы не про 9-й билдер?
19 янв 10, 17:07    [8210333]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Не важно, для editchanged все-равно есть только
Return value 
There are no special outcomes for this event. The only code is:
0  Continue processing
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
19 янв 10, 17:26    [8210537]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
А-а-а, теперь дотрумкал :) Думал хвункция такая :) а это синоним для return-параметра...
19 янв 10, 17:27    [8210550]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
Насколько я помню, если при входе в ячейку выделить ее текст (SelectText() в ItemFocusChanged), то ввод будет происходить так как вам надо.
А может и нет, попробуйте.
19 янв 10, 21:00    [8211467]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
Anatoly Moskovsky,

Спасибо, попробую!
22 янв 10, 18:38    [8231914]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
Вот - решил поднять тему из небытия :)
Есть DW. В нем - должно быть определенное кол-во строк, для определенности - 4. В колонке Наименование - предопределенный набор констант. Например:
Параметр 1
...
Параметр 4
В колонке Значение - значение каждого параметра соответственно. Это - дробное число. Хотелось бы это число задавать по маске типа "########0.0000". Все вроде хорошо. НО!! Почему-то, если значение параметра NULL - в колонке Значение отображается "0.0000". Тип колонки Значение - numeric, свойство required = false
29 июн 11, 18:21    [10895452]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
Да, собственно вопрос :) Как сделать так, чтоб для null - отображалась именно пустота??
ПС: при маске #########.#### отображается дурацкая точка...
ППС: значение в колонке Значение должно редактироваться. Если там пусто - то при переходе в режим редактирования таки хотелось бы, чтоб отображалась некая маска...
29 июн 11, 18:23    [10895463]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
Отвечу сам себе - ну и для пользы будущих поколений :) Порылся в анналах истории - и нашел решение, найденное предыдущими разработчиками. В указанном случае здорово помогает указание следующего формата:
#,##0.00##;-#,##0.00##
причем нужно поставить галку Use Format. Вроде работает!!
30 июн 11, 10:48    [10897581]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
И снова вопрос :)
Как значение в поле, введенном по маске - можно обNULLить? Просто все-все удалить - не получается... Остаются обязательные элементы маски.. И в результате в поле ДВ находится 0 :(
30 июн 11, 11:52    [10898189]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
AIS
Member

Откуда:
Сообщений: 1695
Vadim Romanenko
И снова вопрос :)
Как значение в поле, введенном по маске - можно обNULLить? Просто все-все удалить - не получается... Остаются обязательные элементы маски.. И в результате в поле ДВ находится 0 :(

Может так: сделать спец.кнопку либо сочетание горяч.клавиш, и в скрипте присвоить полю Null. Либо тот же скрипт засунуть в событие "перехода" из поля.
30 июн 11, 12:00    [10898263]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Может попробовать на EditChanged присвоение маски повесить?
30 июн 11, 12:23    [10898509]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
AIS
Vadim Romanenko
И снова вопрос :)
Как значение в поле, введенном по маске - можно обNULLить? Просто все-все удалить - не получается... Остаются обязательные элементы маски.. И в результате в поле ДВ находится 0 :(

Может так: сделать спец.кнопку либо сочетание горяч.клавиш, и в скрипте присвоить полю Null. Либо тот же скрипт засунуть в событие "перехода" из поля.

Спецкнопку - это была первая же сумасшедшая мысль. Но... Там вобщем-то переменное число строк... Да и колонок с цифрами две... Так что статически - не получится, а динамически - как-то не хочется лишний раз искушать Билдер :) Т.е. мысль была - динамически рядом с редактируемым полем генерить кнопку в виде крестика. И по нему присваивать НУЛЛ. Но я пока не решаюсь :)
30 июн 11, 12:54    [10898833]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
spas2001
Может попробовать на EditChanged присвоение маски повесить?

М-м-м. Не совсем понятно. А что это даст? У меня как я ни удаляю значения в ЕдитМаске - 0 все равно остается. Будь он неладен...
30 июн 11, 12:55    [10898847]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
AIS
Member

Откуда:
Сообщений: 1695
Vadim Romanenko
Но... Там вобщем-то переменное число строк... Да и колонок с цифрами две...

Э-е. Так это же все в параметрах обращениях в событии к полю. Т.е. можно установить параметр на поле строки, и можно по условию установить в "цикле" на строки удовлетворяющие условию. Типо так.
30 июн 11, 16:38    [10901377]     Ответить | Цитировать Сообщить модератору
 Re: Маска на числовое значение - хитрая  [new]
Vadim Romanenko
Member

Откуда: Харьков, Украина
Сообщений: 1462
AIS
Vadim Romanenko
Но... Там вобщем-то переменное число строк... Да и колонок с цифрами две...

Э-е. Так это же все в параметрах обращениях в событии к полю. Т.е. можно установить параметр на поле строки, и можно по условию установить в "цикле" на строки удовлетворяющие условию. Типо так.



) Мда, мозги - не хотят думать просто ) Спасибо за идею!
Как говорится - все гениальное просто :)
30 июн 11, 18:51    [10902439]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить