 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Aguilot Invitado
|
Publicado: Mar 21 Jun, 2005 1:52 pm Asunto: Campo Numerico?? |
|
|
Buenas,
En un campo TEdit introduzco un numero con decimales. Yo hago lo siguiente:
void __fastcall TATIPIMP::NumericKeyPress(TObject *Sender,
char &Key)
{
if (((Key < '0' || Key > '9')&&Key!=44) && Key !=
Key =0;
}
Para que solo pueda introducir numeros o la",".
El problema es que como controlo que solo me ponga una coma y no me ponga mas de una por ejemplo: 4,4,0
Gracias |
|
| Volver arriba |
|
 |
Cerúleo Master


Registrado: 04 Ago 2003Mensajes: 332Ubicación: Santander, España
|
Publicado: Mar 21 Jun, 2005 2:24 pm Asunto: |
|
|
Hola.
Puedes tener una variable booleana, por ejemplo "Coma" que inicialmente valga false.
En la función que usas para comprobar las teclas numéricas y la coma deberás comprobar el valor de esta variable para saber si ya se ha introducido una coma. Sería algo así (está sin probar): | Código: | bool Coma=false;
void __fastcall TATIPIMP::NumericKeyPress(TObject *Sender, char &Key)
if(Key==44)
Coma=true;
else if(((Key<'0'||Key>'9')&&(Coma&&Key!=44))&&Key!=13))
Key=0;
} | Lo que tienes que hacer es, además, controlar la inicialización de la variable Coma. En el evento OnEnter del TEdit deberás analizar el texto existente y si tiene coma inicializar Coma=true, o Coma=false en caso contrario.
Espero que te sirva.
Saludos. _________________ Nunca digas "Es imposible" sin intentarlo antes. |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Mar 21 Jun, 2005 4:55 pm Asunto: |
|
|
Saludos....
otra cosa que podrias hacer es utirlizar el componente TCurrencyEdit, que viene en los componentes RX; son gratuitos y los puedes bajar de sourceforge.net _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|