Autor |
Mensaje |
Erik Gasca
Usuario
Registrado: Junio 2013
Mensajes: 20
Edad: 36
|
Obtener Valores De PictureBox
Que tal, saludos a la comunidad desde mi primer mensaje omito los datos de mis versiones por que creo que no son necesarios para este problema, bueno al grano, tengo 2 imagenes, una que representa un led apagado y otra uno prendido, dentro de su nombre indica que tipo de led es (apagado.jpg) quiero que dando un click sobre la imagen se "prenda" y dando otro se "apague", para eso necesito saber que imagen estoy mostrando y así cambiar a la otra, entonces necesito el texto cargado en el "picture" de mi imagen, osea la ruta completa aunque solo me interesa el nombre, para cambiarla por la otra, por ejemplo con algo así:
Dim estado As String
estado = CString(Led_1_1.Picture.Text)
pero me tira error, se que puedo usar banderas, pero son casi 1000 leds que simulare simultaneamente así que no quiero declarar 1000 banderas, gracias y saludos.
|
#1 Domingo, 02 Junio 2013, 18:39 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Obtener Valores De PictureBox
Bienvenido Erick.
Debes usar la propiedad Picture del PictureBox.
Si el Picturebox tiene ya asignada la imagen de apagado Puedes hacer lo siguiente usando el evento MouseDown (No tiene evento Click).
Con un solo led.
Si lo que quieres es hacer lo mismo con mas leds debes usar una array de controles.
Tienes que hacer uso de la propiedad grupo y tag (es como un indice que nos dice que elemento
del array ha sido seleccionado).
Para ello usamos la propiedad last (ultimo). Si a last le añadimos .propiedad
en este caso Picture, tendríamos:
En mi caso he creado el grupo bombillas.
Es el mismo código para todos los picturebox.
Aquí tienes el código para que lo estudies.
Saludos
Descripción: |
|
Descargar |
Nombre del archivo: |
Bombillas.tar.gz |
Tamaño: |
6.86 KB |
Descargado: |
35 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
Bombillas.tar.gz |
Tamaño: |
6.86 KB |
Descargado: |
35 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
Bombillas.tar.gz |
Tamaño: |
6.86 KB |
Descargado: |
35 veces |
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Domingo, 02 Junio 2013, 19:53; editado 1 vez
|
#2 Domingo, 02 Junio 2013, 19:53 |
|
|
Erik Gasca
Usuario
Registrado: Junio 2013
Mensajes: 20
Edad: 36
|
Re: Obtener Valores De PictureBox
Muchas gracias, con los eventos no tengo problemas, no había pensado en comparar un picture con otro picture aunque era tan obvio jajaja, hace años que no programo en gambas y ya me ando oxidando, voy a checar el código que me mandas, gracias de nuevo.
|
#3 Domingo, 02 Junio 2013, 21:45 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Obtener Valores De PictureBox
Quizas sea más rápido usar la propiedad .tag, y en vez de comparar imágenes, comparar un texto:
If PictureBox1.tag = "apagado" Then
PictureBox1.tag = "encendido"
Else
PictureBox1.tag = "apagado"
Endif
Y tambien seria más rápido comparar directamente con un boolean...
Saludos
|
#4 Lunes, 03 Junio 2013, 07:19 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Obtener Valores De PictureBox
Julio:
Entonces se le puede asignar a tag no solo valores como un índice si no que se le puede asignar cadenas y valores booleanos.
Esto tengo que verlo.
La primera vez intente hacerlo con una variable boolean, para un led valdría.
El problema ocurre cuando son mas. No es solo un led.
Ya puestos incluso se puede crear la clase led, pero eso seria complicarlo mas.
Queda mejor desde luego.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#5 Lunes, 03 Junio 2013, 12:27 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Obtener Valores De PictureBox
Shell:
Citar: clase led
Si eso seria todavia mejor, mucho más claro, y más fácil de reutilizar y ampliar. Por ejemplo se le podia poner una propiedad para indicar el color del led...
|
#6 Lunes, 03 Junio 2013, 12:39 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Obtener Valores De PictureBox
tag es un variant. Puede almacenar casi cualquier cosa (salvo objetos) puedes meterle, por ejemplo un variant[] que contenga todo lo que te te apetezca de todas las clases y formas de datos válidos.
Tag Mola.
|
#7 Lunes, 03 Junio 2013, 17:16 |
|
|
Erik Gasca
Usuario
Registrado: Junio 2013
Mensajes: 20
Edad: 36
|
Re: Obtener Valores De PictureBox
Genial, en este momento solo estoy con la documentación de mi proyecto, en unas semanas me meto de lleno con la programación y probaré todas las opciones que me comentan, ahorita y para dar una idea de como trabajará funcionó a la perfección las picture dentro del if, aunque lo de las tag suena interesante, también la clase led, lastima que en mi proyecto ocupare puros leds rojos pero en cuanto arme el circuito a ver que pasa, muchas gracias por sus respuestas, vayan estudiando la comunicación de gambas y pic18f4550 vía usb que les hare muchas preguntas jajajajaja XD
|
#8 Martes, 04 Junio 2013, 03:57 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Obtener Valores De PictureBox
Citar: vayan estudiando la comunicación de gambas y pic18f4550 vía usb que les hare muchas preguntas
No esta en gambas, es en java... Enlace
|
#9 Martes, 04 Junio 2013, 07:38 |
|
|
|