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
Sem comentários:
Enviar um comentário