Страница 1 из 1

EIP - DecimalKey

Добавлено: 27 Апрель 2016, 11:20
gopstop2007
При редактировании Browse по месту (EIP), как в числовое поле вставить точку используя кнопку DECIMALKEY? Где нужно вставить, чтобы заработало типа такого?

Код: Выделить всё

IF KEYCODE()=DecimalKey THEN PRESS('.') END
:)

EIP - DecimalKey

Добавлено: 27 Апрель 2016, 13:27
gopstop2007
Нашел решение, если есть более простое и правильное - поправьте.

Код: Выделить всё

!локальные данные
l_EIP_DecimalKey	BYTE 

! EIP Field Manager ... Ваш Browse и поле EIP
 	!SetAlerts Procedure, Virtual после Parent Call
 	 SELF.Feq{PROP:Alrt,7} = DecimalKey

! TakeEvent Procedure (Unsigned ....  перед Parent Call
 IF event:alertkey
    case keycode()
    of DecimalKey
        IF l_EIP_DecimalKey = 0
            press('.')
            l_EIP_DecimalKey = 1
        END
    END
 END

! Kill Procedure Virtual после Parent Call
   l_EIP_DecimalKey = 0
 	

EIP - DecimalKey

Добавлено: 27 Апрель 2016, 14:12
kreator
А что за клавиша? NumLock?

EIP - DecimalKey

Добавлено: 27 Апрель 2016, 15:24
gopstop2007
kreator писал(а): А что за клавиша? NumLock?
_numpad.jpg

EIP - DecimalKey

Добавлено: 27 Апрель 2016, 16:46
kreator
Ну эта клавиша и так даёт точку или запятую в зависимости от раскладки. Но! Только при нажатом NumLock. Можно проверять и переключать NumLock. Но решать этот момент за пользователя? Не знаю.

EIP - DecimalKey

Добавлено: 27 Апрель 2016, 16:52
gopstop2007
kreator писал(а):Ну эта клавиша и так даёт точку или запятую в зависимости от раскладки. Но! Только при нажатом NumLock. Можно проверять и переключать NumLock. Но решать этот момент за пользователя? Не знаю.
Numlock здесь ни при чем :D мне надо при любой раскладке - точка!