• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sir Pereira

[VB.Net] Que horas são?

5 mensagens neste tópico

Tutorial: Criar um programa que mostra que horas são (hh:mm:ss)

Dificuldade: Básico

Requerimentos: Microsoft Visual Basic 200x Express Edition; vontade de aprender :)

Este tutorial vai ensinar-te como criar um simples texto que vai mostrando as horas. :cheesygrin:

Objectos utilizados: Label e Timer

1º - Abrir o Microsoft Visual Basic 200x Express Edition.

2º - Depois o Visual Basic estar aberto, clica em Create Project.

1.jpg

3º - De seguida, vai-se abrir uma janela onde tens de deixar a imagem como se encontra a seguir. O nome podes pôr o que quiseres.

width=750 height=453http://i138.photobucket.com/albums/q266/DJ_BloodHunter/2.jpg[/img]

4º - Agora vai-te aparecer o Form principal do nosso projecto. Sobrepõe o rato por cima da caixa de ferramentas "Toolbox" para que apareça o que nela existe.

width=750 height=453http://i138.photobucket.com/albums/q266/DJ_BloodHunter/3.jpg[/img]

5º - Escolhe o objecto "Label", e de seguida carrega no Form, o lugar onde o queres colocar.

width=750 height=453http://i138.photobucket.com/albums/q266/DJ_BloodHunter/4.jpg[/img]

6º - Agora vamos fazer o mesmo, mas com o objecto "Timer" (está na categoria 'Components').

width=750 height=453http://i138.photobucket.com/albums/q266/DJ_BloodHunter/5.jpg[/img]

7º - Agora vamos alterar o "Enabled" do objecto "Timer", e vamos alterá-lo para "True", para iniciar por default, quando o nosso Form arrancar, e o nosso Interval para 1000, pois não há necessidade de verificarmos o nosso tempo a cada 1/10 de segundo.

width=750 height=453http://i138.photobucket.com/albums/q266/DJ_BloodHunter/6.jpg[/img]

8º - Agora que a nível visual e estrutural já está tudo tratado, vamos passar ao nível do código. Clica duas vezes no objecto "Timer1". Vai-te aparecer o seguinte código:

Public Class Form1

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

    End Sub
End Class

Agora altera-o para o seguinte (para maiores explicações sobre o código, basta olhares para ele, tem lá os comentários todos):

Public Class Form1
<System.Diagnostics.DebuggerStepThrough()> _
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        'O Label1 é o nome do objecto que fos-te buscar ao Toolbox e o puses-te no Form anteriormente.
        'Text é o nome da propriedade da Label1 que mostra o texto nela contido.
        'O "=" presente no que está em baixo dá um determinado valor à propriedade Text do objecto Label1.
        'TimeOfDay.ToLongTimeString() é o valor da propriedade Text do objecto Label1, que resulta o tempo actual,
        'e como o intervalo do Timer é de 1/10 de segundo, e o valor da propriedade Enabled está definido para True,
        'a cada 1/10 de segundo, a propriedade Text do objecto Label1 vai buscar o valor das horas actuais.
        Label1.Text = TimeOfDay.ToLongTimeString()
    End Sub
End Class

9º - Se carregares no botão F5 do teu teclado (Start Debugging), irás ver o teu programa a funcionar. :P

Qualquer dúvida diz. :confused:

Não sejam muito críticos pois este é o meu primeiro tutorial. :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom trabalho Ivo! Bem ilustrado, com muita informação e realmente muito fácil de seguir.

Mesmo assim gostava apenas de comentar/acrescentar 3 pequenas coisas:

1º Ponto

Não existe a necessidade de utilizar um intervalo de 100 milisegundos quando se está a mostrar a informação em segundo. Acho que deverias passar o Interval para 1000

2º Ponto

Para não repetir código pode-se usar o método ToLongTimeString()

Label1.Text = TimeOfDay.ToLongTimeString()

3º Ponto

O problema da colocação de relógios nas aplicações é que, como este é executado continuamente, quando se está a fazer o Debug do código o ponteiro salta sempre para lá. Existem programadores que definem como comentário e no final retiram o comentário. Uma das formas de resolver este pequeno "problema" é indica-lo com não fazendo parte do debug DebuggerStepThrough da namespace Diagnostics. Exemplo:

<System.Diagnostics.DebuggerStepThrough()> _
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Label1.Text = TimeOfDay.ToLongTimeString()
    End Sub

NOTA: Estes comentáriso tem apenas como objectivo melhorar e não de desencorajar!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, eu percebi :cheesygrin:

Desculpa, amanhã eu logo edito este meu post, porque não estou propriamente em condições de dar uma resposta. :fartnew2:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Este meu projecto é de VB.NET; não estará na categoria errada ? *just thinking

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora