https://foro.gambas-es.org/viewtopic.php?f=1&t=1680
-----------------------------------
sasogu
Jueves, 16 Junio 2011, 23:08

Crear Un Button Con Los Datos De Un Listbox (Solucionado)
-----------------------------------
Le he dado muchas vueltas y no encuentro la manera, lo siento pero mi nivel es nulo y no sé por dónde empezar.

Lo que intento es que en un formulario se generen los botones necesarios recogiendo los datos añadidos en un gridview o listbox, esto último ya lo tengo claro, lo qué no sé es como pasar los datos guardados en el gridview a saber, ruta de la imagen, nombre  y enlace web... de manera que en el botón aparezca la imagen el nombre y al pinchar me dirija a la página web...

Igual estoy pidiendo mucho  :mrgreen:  

La parte de almacenar datos la tengo clara gracias a los ejemplos "agenda" y "listin" que he encontrado en este foro, pero cómo generar los botones con los datos guardados... no veo cómo, lo único que tengo claro es que tengo que seguir estudiando  :shock: 

Gracias de ante mano.


-----------------------------------
sasogu
Viernes, 17 Junio 2011, 22:32

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Agradecería cualquier ayuda en este sentido,

es decir, saber si se puede hacer o es una idea descabellada... si se puede hacer voy a seguir investigando si no pues miraré de hacer lo que quiero de otra manera.

Gracias por todo.


-----------------------------------
jguardon
Viernes, 17 Junio 2011, 23:15

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Sí es posible. Echa un vistazo a este post y si tienes dudas pregunta, no fue demasiado difícil. Lee el código que publiqué del programa Gisohunter.

http://foro.gambas-es.org/viewtopic.php?p=7839#p7839

Saludos


-----------------------------------
jsbsan
Viernes, 17 Junio 2011, 23:51

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Hola sasogu:
[quote]....formulario se generen los botones necesarios recogiendo los datos añadidos en un gridview o listbox, esto último ya lo tengo claro,...[/quote]
Supongo que lo habrás resuelto por este enlace:
[url=http://foro.gambas-es.org/viewtopic.php?f=4&t=1020&highlight=crear+botones]http://foro.gambas-es.org/viewtopic.php?f=4&t=1020&highlight=crear+botones

- En vez de usar un boton, usa mejor  un ToolButton, ya que este permite poner una imagen y un texto y funciona como un boton.

Se me ha ocurrido este código:
[code linenumbers=false syntax=gambas]PUBLIC SUB Button1_Click()

DIM boton1 AS NEW ToolButton(ME) AS "btnPaleta"
DIM boton2 AS NEW ToolButton(ME) AS "btnPaleta"

boton1.Y = 10
boton1.X = 10
boton1.Width = 200
boton1.Border = 1
boton1.Height = 100
boton1.text = "visita mi blog de jsbsan"
boton1.Picture = Picture["linux_sombrero.png"]
boton1.tag = "http://jsbsan.blogspot.com/"

boton2.Y = 140
boton2.X = 10
boton2.Width = 200
boton2.Border = 1
boton2.Height = 100
boton2.text = "visita mi blog de mascotas"
boton2.Picture = Picture["linux_sombrero.png"]
boton2.tag = "http://tusmascotasperrosygatos.blogspot.com/"

END

PUBLIC PROCEDURE btnPaleta_Click()   
DIM comando AS String
   comando = "firefox " & LAST.tag
   SHELL comando
END   [/code]

Enchale un vistazo a este enlace: Soplo: Grupo/Manejador de eventos vs Arrays de Controles
[url=http://foro.gambas-es.org/viewtopic.php?f=1&t=50]Arrays de controles 

Te explico un poco, creo un botón en un formulario (llamándolo:  Button1), este va ha ser el encargado de crear los botones (en tu caso cuando metas los datos en el gridviews, sera cuando los crees)

Como gambas no tiene arrays de controlos, utilizo la popiedad grupo y el mismo manejador de eventos (ver explicación de soplo) y creo dos botones. En tu caso tendras que crear los botones que te haran falta, por ejemplo si tienes 10 filas, create 10 botones.


Con el procedimiento: PUBLIC PROCEDURE btnPaleta_Click()   sera el que hace que según que pulses el boton1 o boton2, controle sus click, y con [b]LAST[/b], va a detectar cual fue el ultimo boton que fue pulsado y pasara la propiedad .tag (donde he guardado la url), a la cadena "comando".

Con el comando Shell ejecutara la linea de comando "firefox " y la url.

En fin, creo que puede ser una solución valida.

Ya me cuentas.

Saludos


-----------------------------------
sasogu
Sabado, 18 Junio 2011, 00:34

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Muchas gracias a los dos por contestar, no os podéis imaginar la ilusión que me ha hecho, justo lo que necesito es lo que me ha pasado jsbsan incluso entiendo la explicación, gracias, gracias, gracias...

Ahora lo que necesito es averiguar cómo hago que estos tres datos  [code linenumbers=false syntax=gambas] boton2.text = "visita mi blog de mascotas"
boton2.Picture = Picture["linux_sombrero.png"]
boton2.tag = "http://tusmascotasperrosygatos.blogspot.com/"[/code]

los recoja del archivo de texto generado en un listbox o gridwiew como por ejemplo en el programa listin de jsbsan:

v0.0.1|listin.20100718|2|Id06/09/2010 18:05:14|fas|as|as|as||||||||/home/jsbsan/Gambas/unidad\ gambas/MANUAL\ JSB\ PROGRAMACION\ EN\ GAMBAS2/programalistin\ v.2/listin/icono_telefono-150x150.jpg|||||Id06/09/2010 18:05:43|eee|ee|ee|||||||||/home/jsbsan/Gambas/unidad\ gambas/MANUAL\ JSB\ PROGRAMACION\ EN\ GAMBAS2/programalistin\ v.2/listin/interrogante.jpg|||||

Claro que yo sólo necesito tres campos y que cada uno vaya al lugar correspondiente

bueno, sigo investigando y aprendiendo.

Muchas gracias


-----------------------------------
sasogu
Domingo, 19 Junio 2011, 02:03

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Hola de nuevo, 

como no encontraba información de cómo hacerlo como pretendía, lo estoy intentando con un base de datos sqlite... en ella he crearo dos campos un id y el nombre que quiero aparezca en el botón.

Lo más que he conseguido es que en el botón aparezca el id en vez del nombre...  :mrviolet: 

[code linenumbers=false syntax=gambas]VarResult = Conexion.Find("datos", "id = &1", "1")
boton2.text = VarResult["id"] [/code]

el código completo

[code linenumbers=false syntax=gambas]PUBLIC SUB Button1_Click()

DIM boton1 AS NEW ToolButton(ME) AS "btnPaleta"
DIM boton2 AS NEW ToolButton(ME) AS "btnPaleta"
DIM VarResult AS result

boton1.Y = 10
boton1.X = 10
boton1.Width = 200
boton1.Border = 1
boton1.Height = 100
boton1.text = "visita mi blog de jsbsan"
boton1.Picture = Picture["linux_sombrero.png"]
boton1.tag = "http://jsbsan.blogspot.com/"

boton2.Y = 140
boton2.X = 10
boton2.Width = 200
boton2.Border = 1
boton2.Height = 100
VarResult = Conexion.Find("datos", "id = &1", "1")
boton2.text = VarResult["id"] 
'boton2.text = "visita mi blog de mascotas"
boton2.Picture = Picture["linux_sombrero.png"]
boton2.tag = "http://tusmascotasperrosygatos.blogspot.com/"

END[/code]


-----------------------------------
jsbsan
Domingo, 19 Junio 2011, 09:26

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Con bases de datos es mas complicado y no creo que te compense para lo que quieres hacer (es matar moscas con cañonazos.....). De todos modos,  si estas interesado en usarlas, puedes ver el manual que hizo David Calleja ("Uso de Sqlite en Gambas2) , te lo puedes descargar en:

[url=http://jsbsan.blogspot.com/p/manuales.html]http://jsbsan.blogspot.com/p/manuales.html
[img]http://1.bp.blogspot.com/_Nr9BGSyAYMU/TQx0hf4FCkI/AAAAAAAAAEo/_LLSIodGLss/s1600/pantallazo-3.png[/img]

Y si no tienes muchas ganas de leer, vete a mis video tutoriales, y ver el "011: Mi primer programa usando bases de datos SQLite3:"
en la página [url=http://jsbsan.blogspot.com/p/video-tutoriales.html]http://jsbsan.blogspot.com/p/video-tutoriales.html, donde seguí el manual de David, para hacer un programa.


Si lo haces con archivos planos de texto (como hice yo con el programa Listin), vete los apartados de Abrir archivos / Guardar archivos del manual ([url=http://jsbsan.blogspot.com/p/manuales.html]http://jsbsan.blogspot.com/p/manuales.html),  y veras lo facil que es guardar y abrir un archivo de texto para trabajar con datos.
[img]http://1.bp.blogspot.com/_Nr9BGSyAYMU/TQxyoz33_TI/AAAAAAAAAEg/X8o3580wmwE/s1600/pantallazo-4.png[/img]


Leetelos, y si tienes alguna duda, nos vuelves a preguntar.

Saludos


-----------------------------------
sasogu
Domingo, 19 Junio 2011, 10:35

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Muchas gracias, estoy en ello, lo que pasa es que tengo una manera de estudiar un poco impulsiva xDD quiero hacer cosas para las que no estoy preparado...

Muchas gracias por el consejo, voy a dejar lo de las bases de datos para más adelante y centrarme en el texto plano, he vuelto ha repasar listin y creo que empiezo a ver la luz...

En principio creo que lo que necesito es asignar a cada botón una línea del gridview y que en cada línea del grid aparezca la ruta de la imagen, el nombre del botón y la url... para que se carguen cuando el botón se crea...

en fin le seguiré dando vueltas que cabezón soy un rato  :mricy:


-----------------------------------
sasogu
Martes, 21 Junio 2011, 05:49

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Cuando ya estaba a punto de tirar la toalla... Lo tengo!! que alegría  :mricy: 

[code linenumbers=false syntax=gambas]PUBLIC SUB Form_Open()

DIM boton1 AS NEW ToolButton(ME) AS "btnPaleta"
DIM boton2 AS NEW ToolButton(ME) AS "btnPaleta"

DIM entrada_datos AS String
DIM lineasDatosHtml AS String

  entrada_datos = User.home & ("/sd.lis")
  arr_cadenas = Split(File.LOAD(entrada_datos), "|") 
  
boton1.Y = 10
boton1.X = 10
boton1.Width = 200
boton1.Border = 1
boton1.Height = 100
boton1.text = arr_cadenas[7]
boton1.Picture = Picture[arr_cadenas[01]]
boton1.tag = arr_cadenas[2]

boton2.Y = 10
boton2.X = 210
boton2.Width = 200
boton2.Border = 1
boton2.Height = 100
boton2.text = arr_cadenas[5]
boton2.Picture = arr_cadenas[4]
boton2.tag = arr_cadenas[6]

END
[/code]

Ahora se me plantean nuevos retos... esto es un no parar  :lol: básicamente lo que necesito es automatizar la creación de los botones, voy a ello.

Graicas a todos de nuevo


-----------------------------------
jsbsan
Martes, 21 Junio 2011, 08:47

Re: Crear Un Button Con Los Datos De Un Listbox
-----------------------------------
Me alegro mucho... :mryellow:  :mryellow:  :mryellow:  :mryellow: 


Nota:
Añade  en el titulo del 1º mensaje la palabra "Solucionado "

Saludos


