Com o Visual Basic podemos criar uma DLL com código que pretendemos reutilizar noutros projetos. Para isso devemos começar por criar um projeto do tipo Class Library
Este projeto abre um módulo do tipo class
Neste documento definimos o código e as propriedades da class:
Public Class Valores
'class que permite gerir uma lista de valores inteiros
Private lista As List(Of Integer)
'construtor
Public Sub New()
lista = New List(Of Integer)
End Sub
'construtor versão 2
Public Sub New(ByVal x As Integer)
lista = New List(Of Integer)
lista.Add(x)
End Sub
'destrutor
Public Sub Destroy()
lista.Clear()
End Sub
'inserir um elemento
Public Sub adiciona(ByVal x As Integer)
' Adiciona um elemento à class.
lista.Add(x)
End Sub
'devolve o numero de elementos
Public Function n_elementos() As Integer
Return lista.Count
End Function
'calcula e devolve a média
Public Function media() As Double
Dim m As Double
Dim i As Integer
For i = 0 To lista.Count - 1
m = m + lista(i)
Next
m = m / lista.Count
Return m
End Function
'calcula e devolve a soma total
Public Function soma() As Integer
Dim t As Integer
'ciclo for each
For Each x In lista
t = t + x
Next
Return t
End Function
'devolve o maior
Public Function maior() As Integer
Return lista.Max()
End Function
'devolve o menor
Public Function menor() As Integer
Return lista.Min()
End Function
End Class
De seguida compilamos, de preferência mudando para a versão Release:
Depois disto temos na pasta release a nossa DLL, esta deve ser adicionada ao projeto em que vai ser utilizada como uma referência:
Assim podemos utilizar a class do seguinte modo:
Imports class_valores
Public Class Form1
Dim val As New class_valores.Valores()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim v As Integer
Try
v = Me.TextBox1.Text
Catch ex As Exception
MessageBox.Show("Erro verifique o tipo de dados!" & vbCrLf & ex.Message)
Exit Sub
End Try
'adiciona o elemento na class
val.adiciona(v)
'maior
Me.lb_maior.Text = val.maior()
'menor
Me.lb_menor.Text = val.menor()
'soma
Me.lb_soma.Text = val.soma()
'média
Me.lb_media.Text = val.media()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
val.Destroy()
End
End Sub
End Class
Comentários
Enviar um comentário