• Martes 30 de Abril de 2024, 01:27

Autor Tema:  Validar Edit O Maskedit  (Leído 2568 veces)

betitono1

  • Miembro MUY activo
  • ***
  • Mensajes: 235
    • Ver Perfil
Validar Edit O Maskedit
« en: Lunes 23 de Agosto de 2004, 21:43 »
0
Hola que tal alguien podira decirme como puedo validar un edit que solo acepte numeros y el punto decimal "00.00" o como hacer q un MaskEdit acepte numeros negativos sólo cuando el usuario lo requiera y no como en el caso de los numeros telefonicos "99-99-99"que el "-" aparezca solo cuando se teclee y nopor default , tambien quisierapreguntarles si exite uno función para alguno de los casos o como podría programarlo, graciaspor su ayuda.


Saludos

Hodoacro

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Validar Edit O Maskedit
« Respuesta #1 en: Martes 7 de Septiembre de 2004, 12:20 »
0
Tienes que activar el evento OnKeyUp del Edit

y así quedaría la función:


void __fastcall XXXX::Edit1KeyUp(TObject *Sender, WORD &Key,TShiftState Shift)
{
     char Cadena[200];
    strcpy (Cadena,ZRes->Text.c_str());
   if (Key=='+' || Key=='-'){
        if (strlen (Cadena)>0)
           Key=0; // solo deja los signos al principio
           else return;
    }else if (Key!='.' && Key!=','){ // admite el punto y la coma como comienzo del decimal
           char *p;
          p=strchr(Cadena,','); // busca una coma en el escrito
         Key=(p)?(char)0:','; // si hay una coma no admite otra
    }else{
       if (Key<'0' || Key>'9') // solo admite caracteres numericos
                 Key=0;
      }
}

Intentala y lo verás más claro

HBK

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Validar Edit O Maskedit
« Respuesta #2 en: Domingo 28 de Noviembre de 2004, 05:20 »
0
Existe alguna forma de validar un MaskEdit para que si el usuario ingresa y por ejemplo pone en un fotmato  00/00/00 pone unicamente 1 digito y luego se sale, existe forma de validar que no truene ahi el programa?, porque estoy haciendo un programa manejando MaskEdits, y ahi es el problema truena cuando se hace eso y no es lo que deseo.

De antemano, muchas gracias por la ayuda que puedan brindarme