Visual Basic - Utilizar SUB

Life is soft - evento anual de software empresarial
 
Vista:

Utilizar SUB

Publicado por CRFO (17 intervenciones) el 21/03/2006 20:13:53
Buenas tardes

Tengo la siguiente duda,

Es posible desde VB, crear un SUB de esta forma:

Public sub nombre ()

'Procedimiento a realizar

End Sub

Y luego crear objetos que llamen desde distintas direcciones
al mismo procedimiento, mas o menos asi:

Dim objeto1 as New nombre
Dim objeto2 as New nombre

La idea es mantener los atributos de cada uno y tratarlos como diferentes
objetos

Agradecere cualquier idea

Saludos

CRFO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Utilizar SUB

Publicado por LLE (136 intervenciones) el 21/03/2006 22:15:30
Hola podés crear módulos de clases. te pongo un ejemplo simple. Crea un modulo de clase llamado Class1

dentro del modulo de clase le agegas una función publica para poder accederla como si fuese un metodo, esta funcion sumara 2 numeros introducidos en 2 textbox en el formulario, text1 y text2.

Dentro del modulo de clase le creas 1propiedad, que se utilizara para activar o desactivar la funcion, como si fuese la popiedad Enabled de un control por ejemplo.

Dim lEnabledFunc As Boolean

Public Property Get EnabledFunc() As Boolean
EnabledFunc = lEnabledFunc
End Property

Public Property Let EnabledFunc(ByVal vNewValue As Boolean)
lEnabledFunc = vNewValue
End Property

'Esta es la funcion que suma pero solo si la propiedad está en true.

Public Function Sumar(x As Integer, y As Integer)

If EnabledFunc Then
MsgBox x + y
Else
MsgBox "la función está desactivada, no se puede sumar"
End If
End Function

Ahora en el formulario creas una variable de tipo Class1, llamada por ejemplo "Objeto"

Dim objeto As Class1

para crear una instancia de ese objeto y poder usarla lo hacés asi:
Set objeto = New Class1

podés crear todas las instancias que quieras, luego cuando no la usés mas eliminalas con Nothing.

La rutina completa del form seria algo asi. Pone 3 Command, 2 Textbox:

Dim objeto As Class1

Private Sub Command1_Click()
objeto.Sumar CInt(Text1), CInt(Text2)
End Sub

Private Sub Command2_Click()
objeto.EnabledFunc = True
End Sub

Private Sub Command3_Click()
objeto.EnabledFunc = False
End Sub

Private Sub Form_Load()
Set objeto = New Class1
Command1.Caption = "sumar"
Command2.Caption = "Activar funcion"
Command3.Caption = "Desactivar funcion"
Text1 = "": Text2 = ""
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set objeto = Nothing
End Sub

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar