Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-07-2010
Avatar de pborges36
pborges36 pborges36 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Argentina
Posts: 192
Poder: 20
pborges36 Va por buen camino
Vaciar maskedit

Buenas. Quizas esta consulta sea un tanto simple, pero la verdad no encuentro como hacer esto.
Como se hace para permitir al usuario borrar el contenido de un maskedit? sin que salga el mansaje:

Invalid input value. Use escape key to abandon changes.

Por el momento solo pude agregar un tButton con el siguiente codigo:

Código Delphi [-]
maskedit1.Text:='';

La idea es que pueda cargar o no una fecha. En la propiedad editmask tiene lo siguiente: !99/99/0000;1;_

Pero la verdad no queda muy elegante.
Muchas Gracias.
Saludos.
Responder Con Cita
  #2  
Antiguo 07-07-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Thumbs up

Si te estoy entendiendo bien , pues si tu MaskEdit está formateado para recibir solo fechas y al escribir dicha fecha no lo haces bien o simplemente no está completa la fecha, pues te va salir ese error que mencionas al perder el foco.
Ahora el problema está en que si tienes escritas una fecha "a medias" y quieres borrar (clear) todo el contenido para volver a escribir pero lo haces desde un boton, pues te va salir ese error que mencionas. El motivo está en que cuando se presiona el boton, el foco (focus) que anteriormente estaba en el MaskEdit, pasa al tenerlo el boton por lo cual el MaskEdit internamente verifica si su contenido es correcto con su formato y si no lo es te lanza la Excepcion que mencionas, debido a que el foco ya no lo tiene el maskEdit.En otras palabras el componente MaskEdit siempre verifica si su contenido es correcto al momento de perder el foco. ; no te olvides de eso.

Una solucion que veo a tu problema es borrar el contenido de tu MaskEdit sin que éste pierda el foco para evitar dicho error. Eso implica que debes descartar la idea de hacerlo dendro de un boton, sino más bien la idea es utilizar una conbinacion de teclas para hacerlo, por ejemplo podemos utilizar el evento OnKeyUp del MaskEdit para capturar nuestra combinacion de tecla, mas o menos así:
Código Delphi [-]
procedure TForm1.MaskEdit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if  ([ssCtrl]=Shift) and (Key=Windows.VK_DELETE) then // si se ha presionado las teclas Ctrl+Supr
        MaskEdit1.Clear; // borro el contenido del MaskEdit
end;
.
En ese ejemplo yo estoy usando la combinacion de teclas Ctrl+Delete, tú puedes usar cualquier otra combinacion..
Espero te sea de utilidad.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #3  
Antiguo 08-07-2010
Avatar de pborges36
pborges36 pborges36 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Argentina
Posts: 192
Poder: 20
pborges36 Va por buen camino
muchas gracias rgs, mi problema no es cuando el usuario quiere corregir la fecha que esta ingresando.
El problema es cuando ingreso la fecha de baja, guardo el registro en la base de datos. Luego quiere modificar ese campo, o sea, borrar el contenido de este maskedit y guardar en la base de datos.
Tambien se presenta el problema cuando empezaste a escribir la fecha y luego quieres dejarla vacia como al principio.
Espero se entienda.
Muchas gracias.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Vaciar un Timage Masu Gráficos 6 01-06-2010 19:59:35
vaciar un timage... ingel Varios 14 26-05-2008 15:24:46
Vaciar tabla ADO Daltor Conexión con bases de datos 3 21-05-2005 18:32:03
vaciar una tabla arc22 Conexión con bases de datos 4 18-06-2004 16:28:18
vaciar Markoz Firebird e Interbase 1 25-06-2003 19:59:02


La franja horaria es GMT +2. Ahora son las 20:51:39.


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