powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / эмуляция editmask
18 сообщений из 18, страница 1 из 1
эмуляция editmask
    #35828031
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
Задача такая:

в строковом поле datawindow программно сэмулировать ввод даты по маске (dd/mm/yyyy)

пытаюсь сделать через событие editchanged

если пользователь просто нажимает цифры в пустой строке то все получается просто:
по мере ввода цифр проверяем их правильность и подставляем слэши в нужные позиции

а вот если пользователь редактирует ужа заполненное поле или нажимает backspace или delete
тут не получается

может быть кто уже решал такую задачку, поделитесь опытом

спасибо
...
Рейтинг: 0 / 0
эмуляция editmask
    #35828136
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На первый взгляд все просто. Считаешь, в какой позиции изменение и делаешь что-то умное.
Что должно получиться-то? Имеем: 01/12/2009.
Юзверь поставил курсор между единицей и двойкой в месяце. Нажал на delete. Что должно произойти?
...
Рейтинг: 0 / 0
эмуляция editmask
    #35828948
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
RiskaИмеем: 01/12/2009.
Юзверь поставил курсор между единицей и двойкой в месяце. Нажал на delete. Что должно произойти?
должно сработать как в Editmask: 01/10/2009

RiskaСчитаешь, в какой позиции изменение и делаешь что-то умное.

опять же вопрос: как определить в какой позиции изменение?
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829178
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, наверное, чего то не понимаю, но... Скажите, а почему не использовать непосредственно EditMask вместо того, чтобы его эмулировать?
------------
С уважением, IKAR

IkarHomeCenter ........ Детский Дворик ........ ГавГав.Инфо
Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829209
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
Ikar,

хороший вопрос, я его ждал :)

строки в таблице содержат текстовую информацию: "Грузоотправитель", "Грузополучатель" и т.д.

есть одна строка, которая содержит "Дата отгрузки", которую пользователи вводят как попало

если на это текстовое поле наложить маску, то все остальные текстовые значения пропадут
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829284
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rhs,

А база не чем?
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829299
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
maxATC,

MS SQL
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829473
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rhs,

Ну попробуй так, не уверен, что все текстовые данные корректны для преобразования из string в date.
В конструкторе DW в Data Source создай поле date(твое поле в базе строковое) as date_users. На нем делаешь EditMask примерно DD/MM/YYYY или как хочешь, родное скрываешь, а на его место созданное пусть туда юзер и вводит дату и при editchanged сбрасывает в поле кторое будет обновлять базу (скрытое).
Примерно так.
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829504
zuzu zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rhsстроки в таблице содержат текстовую информацию: "Грузоотправитель", "Грузополучатель" и т.д.

есть одна строка, которая содержит "Дата отгрузки", которую пользователи вводят как попало

если на это текстовое поле наложить маску, то все остальные текстовые значения пропадутдобавить EditMask поле в ДВ и играться с visible
соответственно подставлять при Update/Retrieve
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829547
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
maxATC,
zuzu zuzu

спасибо за совет, этот метод я знаю

проблема в том что ДВ типа GRID, а там добавить поле и менять visible не так просто,
точнее я вообще не знаю как
хотелось бы не менять интерфейс

проблема №2 в том что уже ранее введено в эти текстовые поля
все что не соответствует формату даты при конвертации из string в date будет потеряно
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829571
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rhs,

Напиши функцию преобразования строкового вида даты в корректное представление строкового вида и сделай UPDATE таблицы по данному полю=функция_преобразования(поле). А проблемы с GRID по вставке нового поля ни какой нет.
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829633
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
maxATCА проблемы с GRID по вставке нового поля ни какой нет.

с этого места помедленней, пожалуйста, я записываю :)

ДВ содержит одновременно строки и с текстовыми данными и с данными в формате даты в одном столбце

если делать это в формате freeform, то я могу наложить 2 столбца один на другой и отображать только один из них

если я добавляю поле в GRID, оно займет у меня еще один столбец,
т.е будет 2 столбца: <текст>, <дата>
а надо чтобы и текст и дата были в одном столбце (визуально)

может я чегото не понимаю?
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829635
zuzu zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rhs
проблема в том что ДВ типа GRID, а там добавить поле и менять visible не так просто,
точнее я вообще не знаю как
хотелось бы не менять интерфейсдля нового поля меняешь свойство Band,
позицию берешь у соответствующего поля,
после играться с BringToFront
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829676
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rhs,
Так у вас желание играться с Visible, а я предлагал поле скрыть, а на его место юзерское с едитмаск поле.
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829765
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
zuzu zuzuдля нового поля меняешь свойство Band,
а на что меняю свойство Band?
...
Рейтинг: 0 / 0
эмуляция editmask
    #35829795
rhs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rhs
Гость
maxATCТак у вас желание играться с Visible, а я предлагал поле скрыть, а на его место юзерское с едитмаск поле.

пользователь должен видеть и исходное поле если там не дата и то, которое с Editmask
...
Рейтинг: 0 / 0
эмуляция editmask
    #35830014
zuzu zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rhszuzu zuzuдля нового поля меняешь свойство Band,
а на что меняю свойство Band?net pod rukoy PB, na liuboe drugoe ne default, eto pozvolit postaviti pole vne band
...
Рейтинг: 0 / 0
эмуляция editmask
    #35830462
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблицу надо по человечески сделать, а не голову тут нам морочить :-)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / эмуляция editmask
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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