![]() |
TMaskedit, con posibles excepciones en el formato
Buenas,
estoy utilizando un maskedit para almacenar un telefono. El mismo se almacenará siguiendo el siguiente formato: +34 98.587.21.25 El problema es que ahora me han pedido que sea posible indicar más de un número de teléfono, en la forma: +34 98.587.21.25/58 es decir, únicamente cambian las ultimas cifras del número. ¿Es posible crear una excepción en el formato de manera que si se quiere introducir más de un teléfono se pueda escribir el "/58" al final del número?. He buscado en los foros y no he encontrado nada parecido, no sé si se podrá hacer. Espero haberme explicado. Un saludo y muchas gracias. |
Lo que podrias hacer es modificar la mascara, por ejemplo asi: (agrega esto en el evento OnKeyPress del TEditMask)
Advertencia: la mascara que estoy usando es '!\+99 00.000.00.00;1;_' supongo que debes tener algo asi en la mascara.
eso si, si el usuario precionara '/' antes de completar el resto de los campos obligatorios lanzara el error de que faltan completar campos como ya sabemos. |
Es una solución que me puede servir....
Muchas gracias. |
Hola a todos,
finalmente he dejado la máscara de la siguiente forma: !+34 99.999.99.99ccc;1;_ De esta manera con las 'c' en la máscara consigo tener 3 caracteres opcionales al final del teléfono. Mi problema ahora es que al obtener el dato de base de datos y visualizarlo en la máscara se visualiza bien, pero no me deja editar esos 3 caracteres opcionales. Lo que hago es lo siguiente: MaskEdit1.EditText:=Telefono siendo Telefono una variable que contiene por ejemplo: '+34 98.511.47.58' El texto lo captura bien, pero no me deja editar más allá del 58, es decir, es como si los 3 caracteres opcionales no existieran..... ¿Estoy haciendo algo mal?... Un saludo y gracias. |
Probá con esto:
Hasta luego. ;) |
Gracias por tu respuesta tan rápida,
me pasa una cosa muy extraña, al obtener el valor de base de datos con Código:
MaskEdit1.EditText:=Telefono No sé si me he explicado bien. ¿Existe alguna propiedad en el MaskEdit que se me escape?, ¿al hacer el EditText es posible que pierda la máscara?.... Muchas gracias de nuevo. |
Ya encontré el problema,
efectivamente al obtener el texto de la base de datos hay que completar dicho texto con espacios en blanco hasta completar el número de caracteres totales de la máscara haciendo algo parecido a: Código:
MaskEdit1.Text := TextodeBD + Blancos Gracias a todos por vuestra colaboración. Un saludo. |
La franja horaria es GMT +2. Ahora son las 23:27:09. |
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