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 14-06-2004
pkbza pkbza is offline
Miembro
 
Registrado: may 2004
Posts: 48
Poder: 0
pkbza Va por buen camino
Problema con un MaskEdit

Hola a todos
Tengo un problema con un MaskEdit, se trata que al quitarle el foco quiero verificar que este no tenga valores vacios, puesto que en ese evento paso su contenido a unas variables, por lo tanto(creo), al estar vacias me arrojan el error Invalid input value.
He tratado de comprobar los valores con un
If MaskEdit1.Text[posicion]= '' Then ....
pero no me resulta.

Agradecido de alguna ayuda, saludos
Responder Con Cita
  #2  
Antiguo 14-06-2004
cahp cahp is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 90
Poder: 22
cahp Va por buen camino
Si es un MaskEdit puedes ponerle una mascara para que no te permita espacios.

De todas formas puedes capturar el evento OnExit, y ahi asignas el valor a un string, que te permite hacer lo que comentas.

Saludos.
Responder Con Cita
  #3  
Antiguo 15-06-2004
pkbza pkbza is offline
Miembro
 
Registrado: may 2004
Posts: 48
Poder: 0
pkbza Va por buen camino
Gracias, pero los espacios (' ') no son el problema, son los vacios (al borrar) y precisamente al pasar el contenido a la variable string con el vacio es donde se produce el error.
Responder Con Cita
  #4  
Antiguo 15-06-2004
pkbza pkbza is offline
Miembro
 
Registrado: may 2004
Posts: 48
Poder: 0
pkbza Va por buen camino
He tratado interceptar el error con esto...

procedure TForm1.MaskEdit1Exit(Sender: TObject);
var cadena:string[11];
begin
try
cadena:=MaskEdit1.Text;
except
showmessage('ingrese todos los valores a la casilla');
end;
end;

Pero no funciona
Responder Con Cita
  #5  
Antiguo 15-06-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
Relamente es muy poco clara tu duda. La componente MaskEdit sirve precisamente para que un valor se ajuste a un formato dado. Si el valor que introduce el usuario no tiene el formato correcto entonces se origina una excepción y es precisamente el comportamiento normal: evitar la introducción de valores incorrectos. Si por alguna razón el control del MaskEdit no te sirve, por ejemplo porque el formato sea más complejo que una simple máscara, entonces olvídate de la componente, usa un TEdit normal y controla el formato en su evento OnExit.

Ahora bien, si lo que quieres es poder presentar un mensaje en español en lugar del mensaje en inglés te comento que no puedes usar try-except en el evento OnExit ya que la validación de la máscara se hace antes de que se genere el evento.

En tal caso te recomiendo leer este mensaje en donde explico cómo hacerlo.

// Saludos
Responder Con Cita
  #6  
Antiguo 15-06-2004
pkbza pkbza is offline
Miembro
 
Registrado: may 2004
Posts: 48
Poder: 0
pkbza Va por buen camino
Lo explico de otra forma, cuando ingreso un valor a la mascara y luego borro algun caracter, al quitarle el foco (evento onexit) se produce el error invalid input value.
Responder Con Cita
  #7  
Antiguo 15-06-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 pkbza
Lo explico de otra forma, cuando ingreso un valor a la mascara y luego borro algun caracter, al quitarle el foco (evento onexit) se produce el error invalid input value.
Pues ya te lo dije. No estás haciendo otra cosa que explicarnos cuál es el comportamiento de un MaskEdit, cosa que ya sabíamos. Si éste no es el comportamiento que buscas tendrás entonces que utilizar otra componente.

// Saludos
Responder Con Cita
  #8  
Antiguo 15-06-2004
pkbza pkbza is offline
Miembro
 
Registrado: may 2004
Posts: 48
Poder: 0
pkbza Va por buen camino
Gracias, la nueva expliacion era por lo poco claro de la duda solamente.

Chao y saludos.
Responder Con Cita
  #9  
Antiguo 15-06-2004
pkbza pkbza is offline
Miembro
 
Registrado: may 2004
Posts: 48
Poder: 0
pkbza Va por buen camino
Ahora me quedo claro el comportamiento del MaskEdit (estaba un poco confuso), el link donde sale como enviar el mensaje en español me funciono correctamente, muchas gracias.
Chao.
Responder Con Cita
  #10  
Antiguo 05-08-2004
lucianojdg lucianojdg is offline
Miembro
 
Registrado: dic 2003
Posts: 42
Poder: 0
lucianojdg Va por buen camino
Error del MaskEdit

Tengo el mismo problema que PKBZA, esto ocurre solo con Delphi 7 (al menos lo probe en Delphi 6 y funciona correctamente)

Paso a explicar:

Cuando escribo en el MaskEdit supongamos un legajo 123-4567
(mascara: ___-____) y luego selecciono el texto completo y presiono la tecla (Del/Supr), borra el texto escrito y ademas la mascara del componente, cosa que no ocurre si utilizo la tecla Backspace (con la cual solo elimina el texto escrito). Una ves presionada la tecla Del/Supr la mascara queda de la siguiente manera _ (solo un guion), y cuando se sale del componente muestra un mensaje que en estos momentos no recuero... el tema es que la mascara NUNCA deberia perderse.

Alguien sabe como se puede solucionar esto teniendo en cuenta que en la version anterior no ocurria?

Saludos

Luciano
Responder Con Cita
  #11  
Antiguo 05-08-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 lucianojdg
Cuando escribo en el MaskEdit supongamos un legajo 123-4567
(mascara: ___-____) y luego selecciono el texto completo y presiono la tecla (Del/Supr), borra el texto escrito y ademas la mascara del componente
Acabo de probar en Delphi 7 y no se borra la máscara. ¿Tienes intalada la actualización de D7?

// Saludos
Responder Con Cita
  #12  
Antiguo 05-08-2004
lucianojdg lucianojdg is offline
Miembro
 
Registrado: dic 2003
Posts: 42
Poder: 0
lucianojdg Va por buen camino
No, no tengo instaladas las actualizaciones. Donde las puedo conseguir...?

Confirmamos entonces que es un error del Componente?


Luciano
Responder Con Cita
  #13  
Antiguo 31-01-2005
lucianojdg lucianojdg is offline
Miembro
 
Registrado: dic 2003
Posts: 42
Poder: 0
lucianojdg Va por buen camino
Smile No funiona

Instale la ultima actuaizacion del D7 y el error continua...


Alguna otra idea de como soluciona esto?


Gracias


Luciano
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


La franja horaria es GMT +2. Ahora son las 04:33:54.


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