Avançar para o conteúdo principal

CalcNotas - WindowsPhone

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




Comentários

Mensagens populares deste blogue

Vamos fazer um carro com o Unity 3D

Neste artigo vamos fazer um carro, simples, com o Unity 3D. A ideia é utilizar o motor de física do Unity 3D para simular o comportamento do carro. Os passos a seguir são: [1] - Criar um projeto novo

C# IEnumerable e IEnumerator

Neste artigo vamos aprender como utilizar a interface IEnumerator por forma a permitir utilizar um ciclo foreach num conjunto ou coleção de dados. A maior parte das coleções (listas e outras) já implementam a interface, mas neste caso vamos personalizar a maneira como percorremos a lista. Quando utilizamos código assim: foreach(Class c in Collection) { ... } O compilador converte este código em algo assim: IEnumerator cc = Collection.GetEnumerator() while(cc.MoveNext()) { c=(Class)cc.Current; ... } Ao implementar a interface IEnumerable significa que a classe implementa uma versão da função GetEnumerator() que deve devolver uma classe que implemente a interface IEnumerator. Vamos explorar um exemplo. Começamos pela classe client Esta classe permitirá guardar os dados dos clientes, existindo um campo para indicar se o cliente ainda está ativo ou não. De seguida temos uma classe que define uma lista de clientes e que implementa a interface IEnumerable que de

React - Introdução

 Neste post vamos fazer uma breve introdução ao React. React é uma framework javascript e por isso é importante ter conhecimentos desta linguagem de programação para melhor compreender o seu funcionamento. O que é necessário? Para construir páginas com React é necessário ter instalado a framework Node e o seu instalador de packages o npm. Com o Node instalado basta abrir uma janela da linha de comandos, eu aconselho utilizar o novo Windows Terminal ou o Cmder . Na sua linha de comando escolhida execute o comando: npx create-react-app Tutorial01 Este comando vai criar uma pasta com o nome Tutorial01 e instalar dos os ficheiros necessários para construir a sua primeira aplicação React dentro dessa pasta. De seguida entramos na pasta criada com o comando: cd Tutorial01 E iniciamos a aplicação com o comando: npm start Deve conseguir ver uma página com o seguinte aspeto: A partir daqui, até fechar a linha de comando, todas as alterações feitas aos ficheiros da sua aplicação são automaticam