el 04-30-2009 01:49 PM
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
el 04-30-2009 02:02 PM
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
el 04-30-2009 02:58 PM
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).
el 05-02-2009 07:39 PM
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 |
el 05-04-2009 11:42 AM
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
el 05-04-2009 11:59 AM
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
el 05-04-2009 12:09 PM
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 |
el 05-04-2009 12:50 PM
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.
el 05-04-2009 01:29 PM
el 05-04-2009 01:46 PM
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 |