Spanish Crear un proceso que me realize una operacion y llamarlo desde dos botones distintos?

chuy-mjr

Member
Saludos, de nuevo yo de novato preguntando.

Veamos si me explico bien, tengo 2 botones, tengo 2 label, al precionar el boton 1 realiza una serie de operaciones y muestra el resultado, al precionar el boton 2 realiza unas operaciones pero tambien realiza una operacion del boton 1, y es la operacion mas grande, y muestra el resultado en el label 2.

como puedo agrupar el codigo que realiza la misma operacion tanto en el boton 1 y 2 para llamarlo algo asi como llamarproceso.click o nose? en ves de estar escribiendo el codigo 2 veces en cada boton?

Gracias de antemano.
 

josejad

Expert
Licensed User
Longtime User
Hola de nuevo chuy-mjr:

Efectivamente, repetir código en cualquier programa, suele ser un error. En este caso lo mejor es que crees una sub que ejecute ese código, y desde ambos botones, llames a la sub.
Te recomiendo que leas los manuales, en concreto, este de aquí:

Y que veas este tutorial (bueno, todos)

saludos,
 

chuy-mjr

Member
Gracias de echo lo logre antes de la respuesta, pero de una forma quiza hasta incorrecta solo puse

Sub cable_procesos
Todo el codigo
End sub

Y despues en los botones coloque

Cable_procesos y funciono

Pero tratare de ver el tutorial y leer mas para no postear tanto cosas que quiza son basicas aqui pero como apenas voy aprendiendo con tutoriales no se nada

Gracias saludos.
 

Descartex

Well-Known Member
Licensed User
Longtime User
Buenas!!
Para saber que botón invocó el Sub, puedes utilizar el objeto Sender y, por ejemplo, utilizar la propiedad Tag para saber quién fue, como en el ejemplo que sigue:
Suponiendo que el Boton1 tiene como propiedad Tag "Boton1" y el Boton 2 "Boton2":
B4X:
Sub EventoBoton_Click
Dim Boton as Button = Sender
Log(Boton.Tag) 'Muestra por consola qué boton és (Boton1 o Boton2)
Select (Boton.Tag)
   Case "Boton1"
          'Aqui va el código que ejecutará el Boton 1
  Case "Boton2"
          'Aqui va el codigo que ejecutaría el Boton 2
End Select

Espero que te sirva...
Un saludo.
 
Top