hola.
necesito que un get acepte solo numeros con o sin decimales y que al final "puede" aceptar el simbolo de porcentage.
12.25%
o tambien
12.25
como lo hago?
gracias.
hola.
necesito que un get acepte solo numeros con o sin decimales y que al final "puede" aceptar el simbolo de porcentage.
12.25%
o tambien
12.25
como lo hago?
gracias.
He leido el post pero no encuentro la idea de lo que necesito.
yo necesito que en el campo pueda introducir alguna de estas alternativas: solo numeros o numeros mas un signo de porcentage.
Ejemplo:
100
10%
Muestra una imagen de tú dialogo para que yo pueda tener una idea porfa.
Usando un RADIO para cambiar el Tipo de GET, és posible?
Saludos.
es que quiero hacerlo mas facil para el usuario.
no tengo imagen.
es un get que necesito que se ingrese un numero o un numero y seguido el %
Descuento: 300
Descuento: 10%
vos ahi haces dos get uno para $ y otro para % yo quiero integrarlos y hacer en un solo get. por eso quiero que el picture tenga el % o no...
se usas recursos(workshop),haga dos GETS uno encima del otro y use Hide () y Show () para intercambiarlos en tiempo real.
Saludos.
Hola Joao.
Puedes mostrar el codigo que usaste en el get "Desconto em %" ?
Gracias.
// DESCONTOS NA PROPOSTA:
REDEFINE GET aGet[14] VAR nDescPercent PICTURE "@K 99.99 %" ID 34 OF oDlg ;
UPDATE COLORS CLR_HRED, CLR_WHITE FONT oFont ;
VALID ( CALCULA_DESC_PERCENT_INSUMOS( aGet ) )
aGet[14]:cTooltip := "Desconto no Fornecimento(Insumos) em Percentual(%)"
// NOVO EM: 19/03/2020 - nDesconto
REDEFINE GET aGet[15] VAR nDesconto PICTURE "@K 99999.99" ID 35 OF oDlg ;
UPDATE COLORS CLR_HRED, CLR_WHITE FONT oFont ;
VALID ( CALCULA_DESCONTO_INSUMOS( aGet ) )
aGet[15]:cTooltip := "Desconto no Fornecimento(Insumos) em $"
// dialogo hecho en workshop.exe the best.
DLG_PRODUTOS_NFE DIALOG 6, 3, 556, 334
STYLE DS_ABSALIGN | WS_CHILD | WS_VISIBLE | WS_BORDER
FONT 8, "MS Sans Serif"
{
EDITTEXT 20, 87, 19, 70, 12, ES_CENTER | ES_MULTILINE | NOT WS_TABSTOP | WS_BORDER
EDITTEXT 21, 232, 19, 70, 12, ES_CENTER | ES_MULTILINE | NOT WS_TABSTOP | WS_BORDER
EDITTEXT 22, 87, 34, 280, 12, ES_MULTILINE | NOT WS_TABSTOP | WS_BORDER
EDITTEXT 23, 5, 105, 90, 12, ES_CENTER | WS_BORDER | WS_TABSTOP
EDITTEXT 24, 98, 105, 210, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
EDITTEXT 25, 311, 105, 90, 12, ES_CENTER | NOT WS_TABSTOP | WS_BORDER
EDITTEXT 27, 404, 105, 60, 12, ES_CENTER | WS_BORDER | WS_TABSTOP
PUSHBUTTON "&Gravar/Finalizar", 301, 467, 103, 85, 14
CONTROL "0.00", 34, "EDIT", ES_CENTER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 105, 284, 50, 12
CONTROL "0.00", 35, "EDIT", ES_CENTER | ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 251, 284, 80, 12
EDITTEXT 29, 67, 77, 60, 12, ES_MULTILINE | WS_BORDER | WS_TABSTOP
EDITTEXT 30, 130, 77, 210, 12, ES_MULTILINE | NOT WS_TABSTOP | WS_BORDER
EDITTEXT 31, 342, 77, 60, 12, ES_CENTER | WS_BORDER | WS_TABSTOP
EDITTEXT 32, 405, 77, 90, 12, ES_CENTER | WS_BORDER | WS_TABSTOP
PUSHBUTTON "&Gravar", 305, 497, 76, 50, 14
PUSHBUTTON "&Imprimir", 306, 10, 311, 60, 16
PUSHBUTTON "&Excluir Serviço", 304, 73, 311, 90, 16
PUSHBUTTON "&Obs.", 308, 166, 311, 50, 16
PUSHBUTTON "Excluir &Produto", 302, 219, 311, 90, 16
PUSHBUTTON "&Saida", 303, 311, 311, 60, 16
EDITTEXT 26, 170, 50, 40, 12, ES_CENTER | ES_MULTILINE | WS_BORDER | WS_GROUP | WS_TABSTOP
RTEXT "Índice(I.V.V.):", 404, 87, 50, 80, 12, SS_RIGHT | NOT WS_GROUP
RTEXT "Serviço:", 412, 5, 77, 60, 12, SS_RIGHT | NOT WS_GROUP
EDITTEXT 28, 374, 298, 170, 30, ES_RIGHT | NOT WS_TABSTOP | WS_BORDER
CONTROL "", 101, "TWBrowse", WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL, 5, 120, 547, 160
CTEXT "Descrição do Produto no Pleno", 407, 106, 92, 210, 12, SS_CENTER | NOT WS_GROUP
RTEXT "Proposta N\xBA.:", 401, 5, 19, 80, 12, SS_RIGHT | NOT WS_GROUP
RTEXT "Contrato N\xBA.:", 402, 159, 19, 70, 12, SS_RIGHT | NOT WS_GROUP
RTEXT "Nome Cliente:", 403, 5, 34, 80, 12, SS_RIGHT | NOT WS_GROUP
CTEXT "<F7> Produtos:", 406, 5, 92, 90, 12, SS_CENTER | NOT WS_GROUP
CONTROL "PLENOIND: FORNECIMENTO - INSUMOS - ACESSÓRIOS.", 50, "EDIT", ES_CENTER | ES_MULTILINE | WS_CHILD | WS_VISIBLE, 0, 3, 366, 12
CTEXT "Valor do Produto:", 408, 311, 92, 90, 12, SS_CENTER | NOT WS_GROUP
RTEXT "USE:", 410, 5, 53, 40, 12, SS_RIGHT | NOT WS_GROUP
CTEXT "Quantidade:", 409, 404, 92, 60, 12, SS_CENTER | NOT WS_GROUP
LTEXT "Total:", 411, 374, 284, 170, 12, NOT WS_GROUP
CTEXT "Qtde:", 413, 342, 64, 60, 12, SS_CENTER | NOT WS_GROUP
CTEXT "Valor Unitário:", 414, 405, 64, 90, 12, SS_CENTER | NOT WS_GROUP
CTEXT "Serviços no Pleno", 415, 213, 50, 136, 12, SS_CENTER | NOT WS_GROUP
CONTROL "TBitMap", 121, "TBitMap", WS_CHILD | WS_VISIBLE, 50, 49, 27, 25
RTEXT "Desconto em %.:", 405, 12, 284, 90, 12, SS_RIGHT | NOT WS_GROUP
RTEXT "Desconto em $:", 416, 158, 284, 90, 12, SS_RIGHT | NOT WS_GROUP
CONTROL "TBitMap", 122, "TBitMap", WS_CHILD | WS_VISIBLE, 335, 283, 23, 23
CONTROL "TBitMap", 120, "TBitMap", WS_CHILD | WS_VISIBLE, 370, 0, 185, 64
}una idea, y si usas expresiones regulares y validas la coincidencia mientras digitas.
si, es lo que estoy intentando.
Otra idea,
Si creas una clase nueva por ejemplo MyGet heredada de la clase TGet y reescribes los metodos KeyDown y KeyChar para que los ajustes a tus necesidades?
Ahi puedes "capturar" las teclas presionadas y si no es "0123456789%" lo rechazas y si el caracter tecleado es un % terminas el get con GoNextCrtl().
Es solo una idea.
Saludos!
Eduardo Borondón Muñiz
Yo crearia un RADIO y listo. Ó un CHECKBOX. Saludos.
Hola..
y si usás el PICTURE '@k 999%'?
Yo lo tengo así y funciona correctamente...
Saludos
Roberto