Ver Mensaje Individual
  #6  
Antiguo 14-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola rogelio.

Yo lo haria con TMaskEdit, te va a evitar un montón de verificaciones...
La máscara podés definirla en diseño desde la propiedad EditMask del TMaskEdit haciendo doble click sobre ella.
En el ejemplo la defino por código por que resulta más claro que explicar todos los pasos para hacerlo en forma visual.

Un ejemplo muy sencillo como para orientarte:
Código:
...
/* Form1 OnShow: ajustar máscara  */
void __fastcall TForm1::FormShow(TObject *Sender)
{
MaskEdit1->EditMask = "!99/99/0000;1;_"; // mascara: dd/mm/aaaa
 MaskEdit1->Text = "";
 MaskEdit1->AutoSelect = false;
}

/* MaskEdit OnExit: verificar que la fecha es válida */
void __fastcall TForm1::MaskEdit1Exit(TObject *Sender)
{
  if (MaskEdit1->Text != "") {
    try {
      StrToDate(MaskEdit1->Text);
    }
    catch (...) {
      ShowMessage("Error en la fecha ingresada");
      MaskEdit1->SetFocus();
    }
  }
}
Para más información sobre las máscaras, busca en la ayuda de Builder con la palabra : FormatMaskText

Saludos.

Última edición por ecfisa fecha: 14-12-2010 a las 06:02:52.
Responder Con Cita