Para este post vamos desenvolver uma aplicação, ou como se dizia antigamente um programa, para calcular notas finais de uma disciplina do ensino secundário português.
Como a interface é relativamente grande precisamos de permitir deslocar o conteúdo verticalmente.
Para validar os dados nas textboxes vamos criar uma função que implementa a função isNumeric da versão desktop do Visual Basic.
Public Function isNumeric(ByVal str As String) As Boolean
Dim t As Decimal = 0
Return Decimal.TryParse(str, t)
End Function
Se a string poder ser convertida num número devolve true se não devolve false.
O primeiro botão serve para calcular a chamada CIF (Classificação Interna Final) que corresponde à média das notas do 10º, do 11º e do 12º ano.
Para isso temos de verificar se cada textbox tem um valor numérico caso contrário não consideramos o seu conteúdo.
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
Dim n10, n11, n12, media, exame, conta As Integer
Dim notamin As Double
If isnumeric(Me.tb_nota10.Text) = True Then
n10 = Me.tb_nota10.Text
conta = 1
End If
If isnumeric(Me.tb_nota11.Text) = True Then
n11 = Me.tb_nota11.Text
conta = conta + 1
End If
If isnumeric(Me.tb_nota12.Text) = True Then
n12 = Me.tb_nota12.Text
conta = conta + 1
End If
If conta = 0 Then
MessageBox.Show("Tem de introduzir pelo menos uma nota!")
Exit Sub
End If
media = (n10 + n11 + n12) / conta
Me.lb_media.Text = media
notamin = media * 0.7
For exame = 1 To 20
If notamin + exame * 0.3 >= 9.5 Then
Exit For
End If
Next
Me.tb_exame.Text = exame
End Sub
O segundo botão calcula a CFD (classificação Final da Disciplina).
Private Sub Button2_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button2.Click
Dim cif, exame, cfd As Integer
If isnumeric(lb_media.Text) = False Then
MessageBox.Show("Calcule primeiro a CIF")
Exit Sub
End If
If isnumeric(tb_nota_exame.Text) = False Then
MessageBox.Show("Indique a nota do exame!")
Exit Sub
End If
cif = lb_media.Text
exame = tb_nota_exame.Text
cfd = cif * 0.7 + exame * 0.3
Me.tb_cfd.Text = cfd
End Sub
O terceiro botão guarda a CFD na listbox.
Private Sub Button3_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button3.Click
If isnumeric(Me.tb_cfd.Text) = False Then
MessageBox.Show("Calcule primeiro a CFD!")
Exit Sub
End If
Me.ListBox1.Items.Add(Me.tb_cfd.Text)
End Sub
Por fim temos uma hiperligação que permite abrir uma página da net.
Private Sub HyperlinkButton1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles HyperlinkButton1.Click
Dim pagina As WebBrowserTask = New WebBrowserTask()
pagina.Uri = New Uri("http://alunosnet.pt.vu", UriKind.Absolute)
pagina.Show()
End Sub
Projeto para download
Sem comentários:
Enviar um comentário