 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
pguzman Ens

Registrado: 07 Feb 2003Mensajes: 34
|
Publicado: Vie 21 Mar, 2003 2:19 pm Asunto: introducir un valor con dos decimales (euros) en un TEdit |
|
|
Hola.
Tengo un TEdit en el que tengo que introducir un valor en euros, el tema es que:
-- solo reconozca números
-- reconozca la coma (y que si se escribe el punto ponga una coma)
Eso lo tengo solucionado, pero me falla si pongo dos comas ¿como puedo controlar que me permita poner una coma, pero si no hay otra ya puesta?
¿me explico?
void __fastcall TF_apunte::a_baseKeyPress(TObject *Sender, char &Key)
{
if(Key=='\b') //Para que reconozca también la tecla retroceso
{Key='\b';}
else
if((Key=='.')||(Key==','))
{Key=',';}
else
if((Key<'0')||(Key>'9'))
{Key=0;}
}
si escribo 333,44 bien, pero si pongo otra coma casca (mientras escribo realiza unos cálculos)
Pues eso, si alguien me puede ayudar, gracias. |
|
| Volver arriba |
|
 |
jaquemate Lt Cmdr


Registrado: 30 Sep 2002Mensajes: 110
|
Publicado: Vie 21 Mar, 2003 5:21 pm Asunto: jaquemate |
|
|
Muy fácil: sólo tienes que buscar si la cadena ya contiene una coma y si es así, ignorarla:
| Código: | void __fastcall TF_apunte::a_baseKeyPress(TObject *Sender, char &Key)
{
if (Key == '\b') //Para que reconozca también la tecla retroceso
Key = '\b';
else if (Key == '.' || Key == ',')
{
if (a_base.Pos(','))
Key = 0;
else
Key = ',';
}
else if (Key < '0' || Key > '9')
Key=0;
} |
Un saludo. |
|
| Volver arriba |
|
 |
pguzman Ens

Registrado: 07 Feb 2003Mensajes: 34
|
Publicado: Vie 21 Mar, 2003 6:59 pm Asunto: gracias |
|
|
gracias, lo único que no valia era el Pos, lo he puesto asi y funciona:
if (a_base->Text.Pos(',')) |
|
| 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.
|