Ir al contenido


Foto

[AYUDA] MaskEdit en FireMonkey para Numero de Telefono ?


  • Por favor identifícate para responder
6 respuestas en este tema

#1 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 02 septiembre 2016 - 06:15

Hola a todos. (h)

 

Tengo una duda, no soy muy aficionado del FireMonkey, siempre he estado con VCL, y para proyectos para android solo estoy usando Android Studio.

 

Pero poco a poco voy entrandole a FireMonkey, quizas en unos años este Robusto. *-)

 

Mi pregunta es, Como puedo implementar un MaskEdit en FireMonkey para validar un Numero de Telefono.

 

Ejemplo:

1-978-000-0000

 

He pensado en expresiones Regulares, Dividir las entradas usando un CASE,  etc

 

Edit1 para el 1

Edit2 para el 978

Edit3 para el 000

Edit4 para el 0000

 

pero necesito que si alguien tiene algo concreto para esto me pueda orientar para tener una solucion mas viable.

 

Saludos!


  • 1

#2 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 02 septiembre 2016 - 06:33

Cual es el comportamiento deseado cuando no se satisface la máscara?
  • 0

#3 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 02 septiembre 2016 - 09:48

No hay diferencia con VCL.  Es la misma validacion.

 

Vi algo en TMS FireMonkey Pack con un componente que maneja las direcciones IPv4, pero tendria que modificarlo para que me maneje todos esto, en vez de puntos, Guiones, y en cada octeto, la division correspondiente a la parte del Telefono que quiero.

 

Tengo una solucion que funciona con expresiones Regulares, pero quiero ver si alguien muestra algo mejor y menos complicado a lo que tengo.

 

Saludos y gracias por la atencion @agustin ortu


  • 1

#4 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 03 septiembre 2016 - 09:00

Creo que lo más sencillo posible es ir validando en el onchange o en el ontyping

No conozco el mask edit, por eso pregunto. Con comportamiento me refiero a si querés un error, una excepción, un evento, que aparezca un cartel y descarte los caracteres como el tedit vcl con numbers only a true
  • 1

#5 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.301 mensajes
  • LocationArgentina

Escrito 03 septiembre 2016 - 09:41

¿Cuál es el problema en realidad? Yo suelo llevarme mal con los MaskEdit, pero si la idea es que un número de teléfono es que siga ese formato, la máscara debería ser así:

0-000-000-0000;1;_

 

Esto obliga a que se ingrese exactamente 11 dígitos y la máscara solita los ubica: 1, 3, 3, y 4. No permite que se ingrese nada más que números. Esa máscara permite ingresar desde 0-000-000-0000 hasta 9-999-999-9999.

 

Como seguramente el cada grupo tiene sus significados y no todos los números son posibles, lo que te resta por hacer es descomponerlo y analizarlo. Desconozco si el TMaskEdit tiene la capacidad de aceptar una máscara con validades, pero estoy viendo en el TMaskEdit que entre sus ejemplos tiene esto para el Long Time: !90:00:00>LL;1;_

Veo el símbolo mayor y un LL. No recuerdo para que se usaban, o si es para algun tipo de validación.

 

De última, lo que puedes hacer es poner 4 SpinEdits y establecer el mínimo y máximo para cada uno. Y Luego hacer alguna comprobación extra que requieras.

 

Desconozco como es que se trabaja con FireMonkey, quisiera pensar que es igual y que existen estos componentes.

 

EDITO: Parece que no existen estos en FMX, veo que si hay un SpinBox. Que es el equivalente al SpinEdit... al menos ahi tienes una alternativa que puede salir del paso.

 

Saludos,


  • 1

#6 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 03 septiembre 2016 - 10:17

¿Cuál es el problema en realidad? Yo suelo llevarme mal con los MaskEdit, pero si la idea es que un número de teléfono es que siga ese formato, la máscara debería ser así:

0-000-000-0000;1;_

 

Desconozco como es que se trabaja con FireMonkey, quisiera pensar que es igual y que existen estos componentes.

 

EDITO: Parece que no existen estos en FMX, veo que si hay un SpinBox. Que es el equivalente al SpinEdit... al menos ahi tienes una alternativa que puede salir del paso.

 

Saludos,

 

Bien, lo que quiero es un MaskEdit para FireMonkey...

 

Saludos!


  • 0

#7 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 mensajes
  • LocationArgentina

Escrito 03 septiembre 2016 - 11:07

Según este enlace hay un evento OnValidating http://community.emb...e-a-mask-in-fmx
  • 1




IP.Board spam blocked by CleanTalk.