PDA

Ver la Versión Completa : punto y coma


AlejandroCalica
24-08-2021, 13:57:33
muy buenos dias y gracias por su atencion.
estoy realizando una calculadora, pero me tope con un problemilla, como validar o mas bien restringir que solo se pueda teclear un solo punto, sin necesidad de poner en enabled false el boton y aparte poder aseptar ya sea (.) o (,) y el ue alla ingresado simplemente tomarlo como un (.). espero haber sido claro les agradesco

kuan-yiu
24-08-2021, 14:45:48
Hay algunos componentes que controlan que no se tecleen dos separadores decimales, por ejemplo TCurrencyEdit. Busca alguno que ya haga el trabajo por ti.
Para controlar que solo pueda teclear una coma como separador decimal solo tienes que incluir este código, o algo similar, en el evento OnKeyPress:
If key = '.' then Key := DecimalSeparator;


Al final de este hilo tienes varios que te pueden ayudar, sino busca en el foro que es un tema que ya se ha tratado varias veces.

AlejandroCalica
16-09-2021, 16:44:40
buenos dias a todos llevo este codigo en la parte del punto decimal



begin
if (POS('.',Display.Caption)<> 0) then
exit
else
Display.Caption:=Display.Caption+'.';


pero esto desde un boton, aqui mi duda es como poder hacer para que el usuario si ingresa punto o ingresa coma, siga saliendo solo el punto.

Y si no fuera molestia como hacer esto aparte para captura de Teclas ya que lo que trato es no usar Boton de punto sino qque el usuario solo precione las teblas de la laptop y no un boton en el programa.

AlejandroCalica
16-09-2021, 16:54:09
esta es la calculadora como veran no tiene botones para ingresar ni numeros ni decimales y las flechas serviran como operadores

Casimiro Notevi
16-09-2021, 17:52:00
Ya te lo ha contestado kuan-yiu :)

Hay algunos componentes que controlan que no se tecleen dos separadores decimales, por ejemplo TCurrencyEdit. Busca alguno que ya haga el trabajo por ti.
Para controlar que solo pueda teclear una coma como separador decimal solo tienes que incluir este código, o algo similar, en el evento OnKeyPress:
If key = '.' then Key := DecimalSeparator;