Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 14-12-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por squenda
Mi problema es que cuando entro a un maskedit pongo un valor y luego lo borro y me quiero salir me manda el error:

Invalid input value. Use escape key to abandon changes.
Sí, el MaskEdit es un poco necio. El problema está en que al salir del control (pero antes de que se genere el evento OnExit) la componente verifica si el texto ha sido modificado y en tal caso lo valida. Cuando borras el texto, la componente considera que ya se modificó y claro, la validación falla.

Una posible solución es usar el evento OnChange del control para reasignar true a la propiedad Modified en caso de que el texto no contenga nada. Para esto hay que tener en consideración la forma en que se especifica la máscara. Por ejemplo, si la máscara es (para una fecha):

MaskEdit1.EditMask := !99/99/00;0;_

entonces basta que compares con la cadena vacía:

Código Delphi [-]
procedure TForm1.MaskEdit1Change(Sender: TObject);
begin
  if MaskEdit1.Text = '' then
    MaskEdit1.Modified := false;
end;

pero si es:

MaskEdit1.EditMask := !99/99/00;1;_

entoncs deberá de comparar así:

Código Delphi [-]
procedure TForm1.MaskEdit1Change(Sender: TObject);
begin
  if MaskEdit1.Text = '  /  /  ' then
    MaskEdit1.Modified := false;
end;

Esto es así porque el 1 en la segunda parte de la especificación de la máscara indica que los caracteres literales ('/' en este caso) son parte del texto.

// Saludos
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:51:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi