Páginas

viernes, 24 de abril de 2015

Ejemplo de uso de Observer: Pulsar una tecla en el formulario y que se muestre otro con un mensaje

Ejemplo de uso de Observer:

 Pulsar una tecla en el formulario y que se muestre otro con un mensaje

Este es un ejemplo de como usar un objeto Observer para que cuando se pulse la tecla F2, se produzca un evento y se realize alguna actividad. En este caso se muestra otro formulario en la pantalla, con información proveniente del formulario donde se pulso F2.

Tenemos 2 archivos:
El formulario principal, donde se pulsará la tecla F2:

' Gambas class file

Event PulsaTeclaF2(informacion As Variant) ''Se define el evento PulsaTeclaF2


Public Sub _new()


End

Public Sub Form_Open()

End

Public Sub Form_KeyPress()

If Key.code = Key.f2 Then
Print "Has pulsado la tecla F2"
FormMensaje.addObjeto(Me) 'ver el código de addObjeto en FormMensaje
Raise PulsaTeclaF2("informacion que paso de donde he pulsado el evento" & Str$(Me) & " cuando se pulsa tecla F2")
'hace salte el evento y asi avisa a los objetos que esten obserbando este objeto
Endif

End
 
 Luego el formulario que mostrará el mensaje y que estará observando al formulario principal:

' Gambas class file

Public observador As Observer 'mi obsevador que observará los objetos que le pase

Public Sub Form_Open()

Me.title = "Mensaje"
Me.Center()

End

Public Sub addObjeto(obj As Object)

observador = New Observer(obj) As "operaciones" 'añado a mi observador el objeto que me pasan

End

Public Sub operaciones_PulsaTeclaF2(dato As Variant)
'se ejecuta cuando salta el evento PulsaTeclaF2

Label1.text = dato
Me.Show() 'muestro el formulario

End

 Os dejo un video de su funcionamiento:

Código fuente:archivo alojado en google drive


Saludos

Julio