Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Key Focus

Hola Todos en el foro

Tengo un VI donde se rqueire intoducir Datos de forma manula pero oredenada basicamente la idea es que el usuario no utilice el Mouse,el usuario tiene 3 string controls y uno control numerico,al inicio del VI se limpian todos los controles.
Para que el key focus se encuentre en una casilla esta el valor de esta debera de estar vacio y en el caso de el numerico un Valor entre 0 a 100,tengo dos Vi que son los siguientes.


KeyFocus 02.vi ; en este VI puede hacer todo los que mencione anterormente solo que el problema es que los valores de los keyfocus se estan escribiendo constantemente,

KeyFocus 03.vi:ene este VI ya pude lograr que los valores de los keyfocus se escriban solo una vez,solo que el probelma es que si se activa el valor del keyfocus y el usuario no escribe nada osea solo preciona el enter el el keyfocus se desactiva.

agradeciendo su servico

Antonio Gacria Olais
Descargar todos
0 kudos
Mensaje 1 de 5
3.507 Vistas

Hola Antonio, hice algunas modificaciones a tu VI.  En general con las event structures no se debe de tener más que una sola (que maneje eventos del panel frontal) en el mismo VI esto puede hacer que se través tu programa (se puede tener una con eventos en el panel frontal y otras con eventos dinámicos , pero eso no lo necesitamos aquí).  

Ahora otra característica que podemos aprovechar aquí de la estructura de eventos es que el mismo event puede provenir de distintos botones el evento. Aquí yo agregue dos eventos:

El primero para lidiar con el problema del enter. Lo que hace es si apretaste el enter entra al filtro de teclas determina si es un enter, en caso contrario lo deja pasar sin modificación. Si es enter básicamente lo convierte en un tab, por lo que forzar a que sea considerado cambio de valor. Con esto entra al siguiente caso.

En el de cambio de valor lo que hace es compara tus 4 campos para ver si están llenos correctamente y llena en base a esto un arreglo. Después usa el search array y determina que campo falta de llenar, en base a lo que vi en lo que tienes programado. Va a ir al primer campo en orden que no esté correcto. Si todos están correctos, no encuentra ningún valor y te regresa -1 por lo que como en tu código el focus lo paso a el LED que usabas no se si quieres cambiar esto.

Saludos

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 2 de 5
3.448 Vistas
Muchisimas Gracias por haber contestado a mi pregunta,lo descargo y verifico los consejos que me acabas de pasar.

Nosotros estabamos evaluando dos Software HMI/SCADA y la razon por la que escogimos LabVIEW,es por el servicio que tienen con el usuario.

Aunque  se vea como comercial de Tv pero si tu eres usuario nuevo de LabVIEW no dudes de su potencial.



Antonio Garcia Olais
0 kudos
Mensaje 3 de 5
3.439 Vistas
Hola BeCeGa

Acabo de checar el programa y quiero agrdecer por los cambios,pero aun tengo el mismo problema.

Veras corres el VI y el keyFocus esta en el dato1 pero al momento de presionar el "enter", el KeyFocus

se coloca en siguiente Dato y este queda vacio,si presionas el boton "Intro" el valor del Key Focus sigue

desapareciendo.

y como te mencionaba como el uso del mouse esta decartado para los Operardores de las maquinas.

pueden llegar a confundirse con el programa ,por increible que parezca.

Gracias

Saludos

Antonio Garcia Olais
0 kudos
Mensaje 4 de 5
3.428 Vistas

Hola Antonio ya lo modifique y ya si esta al principio y das Enter ya no se pasa al siguiente valor a menos que escriba algo. La modificación que hice es en el evento que filtro el Enter lo que agregue son dos nodos de propiedad, uno lee el valor actual del control y el otro lo escribe de nuevo usando Value Signaling, forzando a que después de este evento entre el de Value Change y reutilice ese código. Tambien agregue un not que me faltaba en la comparación del Numérico

 

Saludos

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 5 de 5
3.424 Vistas