![]() |
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 |
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. |
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.
|
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 |
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 |
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.
|
Cita:
// Saludos |
Gracias, la nueva expliacion era por lo poco claro de la duda solamente.
Chao y saludos. |
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. |
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 |
Cita:
// Saludos |
No, no tengo instaladas las actualizaciones. Donde las puedo conseguir...?
Confirmamos entonces que es un error del Componente? Luciano |
No funiona
Instale la ultima actuaizacion del D7 y el error continua...
Alguna otra idea de como soluciona esto? Gracias Luciano |
La franja horaria es GMT +2. Ahora son las 10:20:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi