Páginas filhas
  • LGX - LNUMERICFIELD

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Pagetitle
LGX - LNUMERICFIELD
LGX - LNUMERICFIELD
Componente para edição de números inteiros e decimais.


Hierarquia



Métodos GET


Métodos acessíveis através da função _ADVPL_get_property que permite recuperar e manipular os valores do componente:


Expandir
titleGET BUTTON

Método GET: BUTTON

Retorna se o componente exibe o botão de calculadora.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_numericfield_reference >,"BUTTON",< Exibe botão? >) => BOOLEAN

Retorno



TipoDescrição
BOOLEAN

Indicador que define se o campo exibe o botão de calculadora.



Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_button = _ADVPL_get_property(l_numericfield_reference,"BUTTON")




Métodos SET


Métodos acessíveis utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.


Expandir
titleSET BUTTON

Método SET: BUTTON

Define se será exibido o botão de calculadora ao lado do campo.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_numericfield_reference >,"BUTTON", < Exibe botão? >) =>

Parâmetros



NomeTipoDescriçãoObrigatório?
Exibe botão?BOOLEAN

Indicador que define se será exibido o botão de calculadora ao lado do campo.

Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_numericfield_reference,"BUTTON",FALSE)



Expandir
titleSET LENGTH

Método SET: LENGTH 

Quantidade de numerais que poderão ser informados no campo.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_numericfield_reference >,"LENGTH", < Tamanho>, [Precisão]) =>

Parâmetros



NomeTipoDescriçãoObrigatório?
TamanhoNUMERIC

Tamanho definido para o campo.

Sim
PrecisãoNUMERICPrecisão definido para o campo (quantidade de casas após a vírgula, apenas para valores decimais).

(informação) A definição deste método é semelhante à definição da variável no 4GL.

Exemplos:

  • Decimais: DECIMAL(5,2), onde 5 é o tamanho e 2 é a precisão.
  • Decimais: DECIMAL(5,0), onde 5 é o tamanho e 0 é a precisão.
  • Inteiros grandes: INTEGER, o tamanho é equivalente a 10.
  • Inteiros pequenos: SMALLINT, o tamanho é equivalente a 5.


Importante: Se a precisão deste método for informado, o componente assume que o mesmo irá controlar um decimal.

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Inteiro
	CALL _ADVPL_set_property(l_numericfield_reference,"LENGTH",10)
	CALL _ADVPL_set_property(l_numericfield_reference,"LENGTH",10,0)
#Decimal
	CALL _ADVPL_set_property(l_numericfield_reference,"LENGTH",10,2)



Expandir
titleSET PICTURE

Método SET: PICTURE

Máscara de formatação definida para o campo.

Sintaxe



Bloco de código
_ADVPL_get_property( < l_numericfield_reference>,"PICTURE", < Máscara >) =>

Parâmetros



NomeTipoDescriçãoObrigatório?
 Máscara CHAR

Máscara de formatação informado para o campo.

Sim

(informação) Importante: Quando houve um ponto decimal na máscara, o campo irá assumir que o mesmo deverá controlar um decimal.

(informação) Importante: por padrão, os campos do tipo decimal não permitem informar valores nulos, apenas 0 (zero).

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
#Inteiro
	CALL _ADVPL_set_property(l_numericfield_reference,"PICTURE","@E #####")
#Decimal
	CALL _ADVPL_set_property(l_numericfield_reference,"PICTURE","@E ###.##")



Exemplos


Expandir
titleExemplo de utilização
Bloco de código
languageruby
themeConfluence
linenumberstrue
#------------------------# FUNCTION LNumericField()#------------------------#
	DEFINE l_dialog_reference       VARCHAR(10)     
	DEFINE l_numericfield_reference VARCHAR(10)
     
	 LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
     CALL _ADVPL_set_property(l_dialog_reference,"SIZE",160,120)
     CALL _ADVPL_set_property(l_dialog_reference,"TITLE","Ex.: LNUMERICFIELD")
     CALL _ADVPL_set_property(l_dialog_reference,"BACKGROUND_COLOR",210,210,210)

     LET l_numericfield_reference = _ADVPL_create_component(NULL,"LNUMERICFIELD",l_dialog_reference)
     CALL _ADVPL_set_property(l_numericfield_reference,"PICTURE","@E ###.##")
     CALL _ADVPL_set_property(l_numericfield_reference,"POSITION",05,05)

     LET l_numericfield_reference = _ADVPL_create_component(NULL,"LNUMERICFIELD",l_dialog_reference)
     CALL _ADVPL_set_property(l_numericfield_reference,"LENGTH",05)
     CALL _ADVPL_set_property(l_numericfield_reference,"POSITION",05,30)
     CALL _ADVPL_set_property(l_dialog_reference,"MAXIMIZED",FALSE)
     CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE) END FUNCTION


Visualização