powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Edit Mask для строкового поля
5 сообщений из 5, страница 1 из 1
Edit Mask для строкового поля
    #32440497
sunches
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди, подскажите, как более оригинально решить проблему
пропуска позиции при редактировании строкового поля со
значением времени, например 12:30 . т.е редактируем две позиции, затем
курсор должен перескочить на четвертую.
...
Рейтинг: 0 / 0
Edit Mask для строкового поля
    #32441403
Сотников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PB9 у меня это визуальный компонент:


forward
global type n_editmask from editmask
end type
end forward

global type n_editmask from editmask
integer width = 352
integer height = 84
integer textsize = -10
integer weight = 400
fontcharset fontcharset = russiancharset!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial CYR"
long textcolor = 33554432
alignment alignment = center!
maskdatatype maskdatatype = stringmask!
end type
global n_editmask n_editmask

forward prototypes
public subroutine u_convert_type_string ()
public subroutine u_convert_type_datetime ()
end prototypes

public subroutine u_convert_type_string ();string temp_value

temp_value = this.text
IF temp_value = "00.00.0000" or String(Date(temp_value), "DD.MM.YYYY") = "01.01.1900" THEN
temp_value = ""
END IF

this.SetMask(StringMask!,"")
this.text = temp_value

end subroutine

public subroutine u_convert_type_datetime ();string temp_value

temp_value = this.text
IF temp_value = "00.00.0000" THEN
temp_value = ""
END IF
this.SetMask(DateTimeMask!,"dd.mm.yyyy")
this.text = temp_value

end subroutine

event losefocus;this.u_convert_type_string()

end event

on n_editmask.create
end on

on n_editmask.destroy
end on

event getfocus;this.u_convert_type_datetime()
this.SelectText(1, Len(this.Text))

end event
...
Рейтинг: 0 / 0
Edit Mask для строкового поля
    #32441575
Centner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Mask типа ## : ## не работает?
...
Рейтинг: 0 / 0
Edit Mask для строкового поля
    #32441731
Сотников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этом случае появляется возможность ввода некорректного времени!
...
Рейтинг: 0 / 0
Edit Mask для строкового поля
    #32442068
Centner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ этом случае появляется возможность ввода некорректного времени!

1. dw - проперти на поле - Validation - Validation Expression "bla-bla-bla..."
2. dw_1.event itemchanged - скрипт "bla-bla-bla..."
3. ....
....

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


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