Discusiones sobre Productos NI

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

prompt al usuario que espere a pulsar un boolean

Hola a todos. Hace ya unos días que vengo "incordiando" con preguntas tontas acerca de Labview, pero comprendedme, soy nuevo. Después de unas semanas y muchos problemas que me habeis resuelto (MIL GRACIAS) os traigo una nueva cuestión.

 

Quiero hacer un prompt al usuario que le pregunte que boton desea eliminar. En mi panel habrá unos cuantos booleans, y quiero poder seleccionar uno de ellos. Este boolean se borrará al pulsarlo (y porq primero se ha preguntado cual se quiere borrar). Sino ese boton tendrá asignado otra función.

 

Por favor, decidme si es posible hacer esto o me estoy colando demasiado en mis pretensiones.

 

GRACIAS

0 kudos
Mensaje 1 de 31
3.739 Vistas

 Hola Serrano, una de las formas mas fácil de hacer un prompt es con el VI de One Button Dialog. Ahora en general cualquier subVI lo puedes mandar a llamar como un Prompt dependiendo de la configuración que tenga tu VI (lo puedes modificar en VI Properties)

Ahora la parte como tal de borrarlo es un poco más complicada, en Ejecución no puedes crear o borrar botones (puedes hacerlos visibles o invisibles pero estos existe). Ahora algo que te ayuda a trabajar alrededor de esto son arreglos de controles dado que en estos puedes agregar y quitar elementos durante la ejecución.

También una forma de hacerlo pero complica la programación es en lugar de utilizar botones como tales estar "pintando" en un picture control los botones" y controlar este picture control a través de una Event Structure".

Que es lo que estas haciendo o necesitas hacer?

Saludos

Benjamin C
Principal Systems Engineer // CLA // CLED
0 kudos
Mensaje 2 de 31
3.738 Vistas

Os lo pongo por aquí. Utlizo botones ya existentes como podrás comprobar. Cuando le des a la opción borrar, te aparecerá dos opcines más, borrar todo  o solo uno. Lo de borrar todo lo tengo controlado, pero lo de borrar uno no. Me gustaría saber como puedo seleccionar el boton que quiero borrar con el ratón pulsando encima de él. Lo que realmente pasaría al pulsar sería que se borraría el boolean text y desaparecería el boton ( false->Visible).

 

 

0 kudos
Mensaje 3 de 31
3.732 Vistas

Que tal:

 

 He realizado una implementación de lo que necesitas. Para ello he utilizado una estructura de evento y configurado el evento de Value Change en cada uno de los 6 botones de usuario. Para lograr esto cambié el boolean action de los botones a "Latch when released". Esta estructura de aplicación en realidad no es muy escalable y en caso de necesitar un número de usuarios variable, habria que buscar una mejor solución. En general, yo te recomendaría que no manejaras la lista de usuarios por medio de botones, sino a través de alguna estructura de datos, desde un array hasta algo más complejo, dependiendo de cuales sean tus necesidades.

 

Hay que hacer un manejo más adecuado de los usuarios borrados y de la administración de usuarios en general.

 

Lo he salvado en 8.5, dado que es la versión q tengo, como te comentaba en otro Post.

 

Espero te sirva, revísalo y cualquier duda respecto al VI o al post me comentas, saludos



Robst - CLD

Using LabVIEW since version 7.0


Mensaje 4 de 31
3.709 Vistas

Hola,

 

gracias por tu .vi. Voy a echarle un vistazo ahora. Este he estado de viaje y no he podido. Espero entender lo que has hecho, recuerda que practicamente llevo un mes con labview. jeje. 

 

Gracias de nuevo. 

 

Saludos

0 kudos
Mensaje 5 de 31
3.693 Vistas

No lo entiendo muy bien. ¿Porqué has dejado partes fuera el "while"? Se me queda pillado a veces.

 

La razón por la que uso botones son por que es lo mas facil de entender (a mi manera) para alguien inexperto en este tipo de programas de control. Es cierto que voy a usar (cuando sepa) excel para almacenar info de los usuarios, pero para visualizarla quiero usar estos botones. 

 

Gracias de nuevo

0 kudos
Mensaje 6 de 31
3.691 Vistas

Hola:

 

Si no mal recuerdo solo deje afuera del While principal algunos indicadores que no se estaban utlizando al momento. Pero bueno, ¿Cual es el mal funcionamiento del VI? ¿Bajo que condiciones se traba? Me gustaria que me comentaras esto para ver que está pasando y corregirlo.

 

Saludos.



Robst - CLD

Using LabVIEW since version 7.0


0 kudos
Mensaje 7 de 31
3.688 Vistas

Hola de nuevo.

 

Verás, cuando pulso el boton de uno de los usuarios se queda pillao, y no debería. Tb me ha pasado al borrar un usuario, después voy a pulsar otro boton y se queda tb pillao. Voy a intentar solucionarlo yo tb, a ver si esta vez lo consigo antes que tú. jeje.

 

Saludos.

0 kudos
Mensaje 8 de 31
3.686 Vistas
Bueno, me parece que tengo que replantearme todo el .vi ya que no trabajo bien cuando borro un usuario y quiero agregar otro justo despues. Voy a intentar modificarlo todo y no volver a caer es ese tipo de problemas. Aún así, he modificado algo el que me enviaste. aqui te lo dejo.
0 kudos
Mensaje 9 de 31
3.681 Vistas

Que tal:

 

Creo que a lo que te refieres es a que cuando borras un usuario, que no es el último de la lista, se presenta un comportamiento no deseado que al crear un nuevo usuario se sobreescribe el último boton. Algo que se puede hacer es crear un arreglo donde se vaya almacenando que casillas estan ocupadas o desocupadas, y al agregar un usuario, agregarlo en la primera casilla disponible. Bueno, es una idea.

 

Por cierto, trata de eliminar todos los Property Nodes con la propiedad Value (principalmente los de la variable de cuenta Usuarios) y reemplazalos por variables locales.

 

Ya he detectado el detalle que se traba cuando presionas un botón de usuario. Ando investigando porque pasa eso.

 

Una vez que lo encuentre te comento.

 

Saludos.



Robst - CLD

Using LabVIEW since version 7.0


0 kudos
Mensaje 10 de 31
3.679 Vistas