miércoles, 9 de julio de 2014

Técnicas - Campo Correo

Hola Grafo.

Si por algo se caracteriza FMValencia es por la voluntad, de todos los participantes, de compartir y poner en común técnicas que han ido utilizando en sus distintos proyectos.

Y para que veáis un ejemplo de lo que es aquello, he creado este archivo con unas técnicas, que he desarrollado para tratar con esos campos en los que guardamos direcciones de correos electrónicos.



Este fichero no es mas que mi visión personal de como manejarnos con estos campos, y para ello recoge dos técnicas muy simples. Al ser tan simples, y a la vez útiles es posible que vosotros utilicéis, o que encontréis por la red técnicas mas completas, o simplemente mejores. Genial, podremos utilizar los comentarios para enlazar a otras paginas, o sugerir mejoras de esta.

Uno tiene bastantes soluciones por ahí rodando, en los primeros desarrollos, el campo correo electrónico, ni existía, y cuando empecé a incluirlo, casi siempre quedaba vacío.
Lo interesante vino cuando llegó el paso de guión "Enviar correo electrónico". Un botoncito al lado del campo CORREO hacía que nuestros clientes se sintieran poderosos.

Pero la gente se acostumbra rápidamente a la buena vida, y ya han visto que si en un texto hay una dirección de correo y pulsa sobre ella se abre automáticamente su cliente de correo y crea correo nuevo con la dirección puesta. Y eso lo quieren en su base de datos.

Una solución era desdoblar la presentación, una para editar el campo y otra para visualizarlo (en la que se ejecuta el guión al pinchar en el campo). Pero siempre hay un cliente al que molesta este cambio de presentación.

Otra posibilidad era que al pulsar sobre el campo nos salga un mensaje, donde podamos editar la dirección de correo, o enviar el correo. Pero ese mensaje era un paso incómodo, y rompía con la estética del proyecto.

Pero desde la versión 10, tenemos los activadores de guiones, que nos facilitan muchas cosas.
Y en la versión 12, no se si antes, tenemos el calculo "Get ( ActiveModifierKeys )".
Con lo cual:
Si al campo CORREO le aplicamos un activador de guión, al entrar en el campo.
Y en el guión usamos el paso "If ( Get ( ActiveModifierKeys ) = 8).
Comprobaremos si hemos entrado en el campo presionando la tecla "Alt" y podremos continuar el guión diciendo que envíe un correo a la dirección contenida, en vez de permitirnos editar el campo. 


Esta sencilla técnica, se me acaba de ocurrir, nos puede servir para permitir o no la edición de los campos, y así evitar modificaciones por error, (lo probaré y ya compartiré con vosotros la experiencia) Desafortunadamente, esta técnica no nos vale con el teclado táctil de iOS.

La segunda técnica que se muestra en el ejemplo es, como realizar una comprobación BÁSICA de que el contenido del campo tiene formato de dirección de correo electrónico. Y para ver esto de una forma sencilla:

Comprobamos que no tiene espacios.
Length ( CONTACTAR::CORREO ) = Length ( Substitute ( CONTACTAR::CORREO ; " " ; "" ) )
 and
Comprobamos que que hay una y solo una arroba.
Length ( CONTACTAR::CORREO ) - 1 = Length ( Substitute ( CONTACTAR::CORREO ; "@" ; "" ) )
 and
Comprobamos que hay, al menos, un punto.
Length ( CONTACTAR::CORREO ) > Length ( Substitute ( CONTACTAR::CORREO ; "." ; "" ) )


Aunque en el ejemplo no se ha hecho, esta comprobación también puede utilizarse para la validación del campo en la introducción, omitiendo el que esté vacío.

Así de simple. Podemos descargar el archivo aquí

Habiendo aprendido tanto en las FMValencia, y como ya hacía tiempo que no colaboraba activamente en ellas, es casi un deber compartir este archivo con la gente de FMValencia. En realidad es un placer.

Espero que os sea útil.



______________