sábado, 1 de dezembro de 2012

Bicionário - Windows Phone

Depois da versão Android fica aqui a versão Windows Phone.




Para este pequeno projeto vamos utilizar o Visual Studio 2010 Express for Windows Phone, a linguagem utilizada é o Visual Basic.

Começamos por criar o projeto novo.


Depois criamos a interface com dois radio buttons, uma textbox, um botão e um textblock.


Ainda antes de começar a codificar vamos precisar de adicionar os dois ficheiros txt ao projeto para podermos aceder a eles quando for necessário verificar a palavra introduzida. Para isso basta arrastar os ficheiros para o Solution Explorer.
Depois temos de alterar as propriedades dos dois ficheiros para que sejam compilados como recursos, assim com o botão direito do rato abrimos as propriedades dos ficheiros e alteramos a propriedade Build Action para Resource.

 As hipóteses são:

Agora o código no botão verificar, basta fazer duplo clique para abrir o editor do evento click no botão e inserir o seguinte código:

Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
        Dim palavra As String
        Dim linha As String
        Dim encontra As Boolean
        Dim streamreaderinfo As System.Windows.Resources.StreamResourceInfo

        encontra = False
        palavra = Me.TextBox1.Text
        If palavra.Length = 0 Then
            MessageBox.Show("Preencha com uma palavra por favor!")
            Exit Sub
        End If
        palavra = palavra.ToLower()
        If Me.RadioButton2.IsChecked() = True Then 'português
            streamreaderinfo = Application.GetResourceStream(New Uri("BidicionarioWP;component/portugues.txt", UriKind.Relative))
        Else
            streamreaderinfo = Application.GetResourceStream(New Uri("BidicionarioWP;component/ingles.txt", UriKind.Relative))
        End If

        Me.TextBlock1.Text = "A pesquisar..."
        Try
            Using f As New IO.StreamReader(streamreaderinfo.Stream)
                Do While f.EndOfStream = False
                    linha = f.ReadLine()
                    linha = linha.ToLower()
                    If linha = palavra Then
                        encontra = True
                        Exit Do
                    End If
                Loop
            End Using
        Catch ex As Exception
            MessageBox.Show("Erro no acesso ao ficheiro: " & ex.Message)
            Exit Sub
        End Try

        If encontra = False Then
            Me.TextBlock1.Text = "Palavra não encontrada!"
            MessageBox.Show("Palavra não encontrada!")
        Else
            Me.TextBlock1.Text = "Palavra encontrada!"
            MessageBox.Show("Palavra encontrada!")
        End If

    End Sub

Este código é muito mais simples do que a versão Android e a execução no emulador também é muito mais rápida, a Microsoft já aprendeu há muito tempo que as ferramentas de programação são fundamentais.

Quem já programou em VB.NET vai achar o código muito parecido com o que tem utilizado, incluindo a função que permite apresentar pequenas mensagens (messagebox).

A principal diferença está no modo como referenciamos os ficheiros de texto porque neste caso eles estão inseridos como recursos no projeto e não como ficheiro isolados no sistema de ficheiros do dispositivo.

Uma última palavra sobre o emulador do Windows Phone que é muito rápido e estável comparativamente com o emulador Android que é bastante pesado e lento.

O projeto pode ser picado aqui.

Sem comentários:

Enviar um comentário