powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Маска на числовое значение - хитрая
22 сообщений из 22, страница 1 из 1
Маска на числовое значение - хитрая
    #36418030
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

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

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

ПС: PowerBuilder 9.3

Заранее спасибо за ответ
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418060
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может тогда маску динамически менять?
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418329
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001,
Можно без маски. Только логику довесить на изменения.
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418468
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоже вариант, на editchanged
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418520
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бр-р-р, какую логику?? Типа маску проверять самому?
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418578
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставить режим ввода - edit (не editMask) и в случае попытки ввода чего-то кроме цифр и точек - удалять?
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418602
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну примерно так
Воспользуйтесь match и actioncode (return ... )
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418631
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что есть actioncode? посмотрел в хелпе - кроме action ничего не нашел... И то - приемлемо только для кнопок... Или Вы не про 9-й билдер?
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418693
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не важно, для editchanged все-равно есть только
Код: plaintext
1.
2.
Return value 
There are no special outcomes for this event. The only code is:
 0   Continue processing
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36418697
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А-а-а, теперь дотрумкал :) Думал хвункция такая :) а это синоним для return-параметра...
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36419104
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я помню, если при входе в ячейку выделить ее текст (SelectText() в ItemFocusChanged), то ввод будет происходить так как вам надо.
А может и нет, попробуйте.
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #36426083
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,

Спасибо, попробую!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Маска на числовое значение - хитрая
    #37329480
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот - решил поднять тему из небытия :)
Есть DW. В нем - должно быть определенное кол-во строк, для определенности - 4. В колонке Наименование - предопределенный набор констант. Например:
Параметр 1
...
Параметр 4
В колонке Значение - значение каждого параметра соответственно. Это - дробное число. Хотелось бы это число задавать по маске типа "########0.0000". Все вроде хорошо. НО!! Почему-то, если значение параметра NULL - в колонке Значение отображается "0.0000". Тип колонки Значение - numeric, свойство required = false
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37329485
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, собственно вопрос :) Как сделать так, чтоб для null - отображалась именно пустота??
ПС: при маске #########.#### отображается дурацкая точка...
ППС: значение в колонке Значение должно редактироваться. Если там пусто - то при переходе в режим редактирования таки хотелось бы, чтоб отображалась некая маска...
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37330141
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечу сам себе - ну и для пользы будущих поколений :) Порылся в анналах истории - и нашел решение, найденное предыдущими разработчиками. В указанном случае здорово помогает указание следующего формата:
Код: plaintext
#,##0.00##;-#,##0.00##
причем нужно поставить галку Use Format. Вроде работает!!
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37330302
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И снова вопрос :)
Как значение в поле, введенном по маске - можно обNULLить? Просто все-все удалить - не получается... Остаются обязательные элементы маски.. И в результате в поле ДВ находится 0 :(
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37330324
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim RomanenkoИ снова вопрос :)
Как значение в поле, введенном по маске - можно обNULLить? Просто все-все удалить - не получается... Остаются обязательные элементы маски.. И в результате в поле ДВ находится 0 :(
Может так: сделать спец.кнопку либо сочетание горяч.клавиш, и в скрипте присвоить полю Null. Либо тот же скрипт засунуть в событие "перехода" из поля.
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37330385
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может попробовать на EditChanged присвоение маски повесить?
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37330467
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISVadim RomanenkoИ снова вопрос :)
Как значение в поле, введенном по маске - можно обNULLить? Просто все-все удалить - не получается... Остаются обязательные элементы маски.. И в результате в поле ДВ находится 0 :(
Может так: сделать спец.кнопку либо сочетание горяч.клавиш, и в скрипте присвоить полю Null. Либо тот же скрипт засунуть в событие "перехода" из поля.
Спецкнопку - это была первая же сумасшедшая мысль. Но... Там вобщем-то переменное число строк... Да и колонок с цифрами две... Так что статически - не получится, а динамически - как-то не хочется лишний раз искушать Билдер :) Т.е. мысль была - динамически рядом с редактируемым полем генерить кнопку в виде крестика. И по нему присваивать НУЛЛ. Но я пока не решаюсь :)
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37330473
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Может попробовать на EditChanged присвоение маски повесить?
М-м-м. Не совсем понятно. А что это даст? У меня как я ни удаляю значения в ЕдитМаске - 0 все равно остается. Будь он неладен...
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37331027
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim RomanenkoНо... Там вобщем-то переменное число строк... Да и колонок с цифрами две...
Э-е. Так это же все в параметрах обращениях в событии к полю. Т.е. можно установить параметр на поле строки, и можно по условию установить в "цикле" на строки удовлетворяющие условию. Типо так.
...
Рейтинг: 0 / 0
Маска на числовое значение - хитрая
    #37331302
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISVadim RomanenkoНо... Там вобщем-то переменное число строк... Да и колонок с цифрами две...
Э-е. Так это же все в параметрах обращениях в событии к полю. Т.е. можно установить параметр на поле строки, и можно по условию установить в "цикле" на строки удовлетворяющие условию. Типо так.


) Мда, мозги - не хотят думать просто ) Спасибо за идею!
Как говорится - все гениальное просто :)
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Маска на числовое значение - хитрая
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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