Buscando alguna manera interesante de crear controles más customizados para extender las capacidades con las que vienen por default en LabVIEW, entonces recordé haber visto los QControls en alguna de las ediciones del GLA Summit, les dí una revisión, seguí el tutorial que viene con el paquete y me parecieron muy interesantes, decidí hacer pruebas y crear algo que siempre me ha gustado de los sitios web, los campos que tienen código que valida si lo introducido cumple o no con el formato.

En este blog te voy a explicar como hacer un QControl que revisa si el texto en un control tipo string tiene el formato de correo electrónico ej: correo@server.com, primero los pasos: 

  • Instala el QControl Toolkit en LabVIEW mediante la siguiente liga QControl Toolkit
  • Crea un nuevo proyecto y da Click en File>New o bien en el ícono de Nuevo como la siguiente imagen
QControl Tutorial Espanol
  • Selecciona QControl de la lista.
  • Sigue el wizard seleccionando String como la clase para heredar, a continuación las imágenes.
  • Al final solo das click en el boton “Create Class”
  • Ahora en el proyecto tendremos una clase para editar, el “Core” de un QControl está en el VI llamado Event Handler, vamos a editarlo.

Ahora deberás seleccionar el tipo de evento que se desea, en este ejercicio se requiere el evento “Value Change”, este será un evento que se disparará cuando se escriba en el campo de texto donde irá nuestra dirección de correo electrónico.

Ahora se debe agregar este evento a la estructura de Eventos en el mismo vi “Event Handler.vi”, dando click derecho en la misma y seleccionando “Add Event”, selecciona el que dice <Reference>: Value Change

A continuación edita el código para que quede de la siguiente manera.

Lo que hace este código es que cuando el string cambie de valor ya que el usuario escribirá en el campo de texto, se dispara este evento que estará buscando una expresión con ciertas características usando la función “Match Regular Expression”, con esto se obtiene si el texto del string con el que estaremos trabajando cumple con el formato de un correo electrónico, la cadena con varios símbolos es una expresión para buscar características en el texto.

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

Esta cadena la encontré en Stack overflow:

Stack Overflow

A continuación solo se debe usar el QControl, pasarle una referencia a un control tipo String para que suceda la magia.

Solo se debe crear un VI con un control tipo string, crear una referencia del mismo y utilizar los VIs del QControl ‘New EmailField.vi’ y el ‘Close EmailField.vi’

Importante: el campo de Email se debe configurar dando click derecho en el con la opción ‘Update Values while typing’. 

Te comparto el repositorio del código, recuerda, tienes que tener el QControl Toolkit instalado, la versión del código es LabVIEW 2020.

Github QControl Code

 

[mc4wp_form id="817"]