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

Tim§id€

[Resolvido]Ajuda com timer -.-'

17 mensagens neste tópico

Oi quero fazer tipo tenho um timer...

e nos 1º  5segundos nao mostra os numeros na label...Passados esse 5 segundos começa o timer com 0 e agora mostrar os numeros na label..depois quando chega aos 5 outra vez o timer para(e tipo consigo fazer que isso funcione so que depois nao para:\...Alguem me pode ajudar...sff...obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não para porque ?

Só tens de fazer Timer1.Enabled = False para ele parar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipo ele para mas nao no zero e sim no 1-.-'..e nao sei como fazer para ele para no 0 e nao no um...Obrigado..

o codigo e o seguinte:

      cont=cont- 1

        If cont= 0 Then

            x = 1

            cont = 6

        End If

        If x = 1 And cont < 6 Then

            Label7.Text = CStr(seg)

            If cont= 0 Then

                Timer1.Enabled = False

            End If

        End If

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipo ele para mas nao no zero e sim no 1-.-'..e nao sei como fazer para ele para no 0 e nao no um...Obrigado..

o codigo e o seguinte:

      cont=cont- 1

        If cont= 0 Then

            x = 1

            cont = 6

        End If

        If x = 1 And cont < 6 Then

            Label7.Text = CStr(seg)

            If cont= 0 Then

                Timer1.Enabled = False

            End If

        End If

Tens o código uma bocado confuso:


   cont=cont-1
        If cont= 0 Then
           Timer1.Enabled = False
           end sub
          else
             Label7.Text = CStr(seg)             
            End If
        End If

Ps: Deve já dar para aquilo que queres (código não testado).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens o código uma bocado confuso:


   cont=cont-1
        If cont= 0 Then
           Timer1.Enabled = False
           ""end sub""
          else
             Label7.Text = CStr(seg)             
            End If
        End If

Ps: Deve já dar para aquilo que queres (código não testado).

Não da na mesma...Obrigado..vou tentar fazer :cheesygrin: vou pensado    :nono1::(:):cheesygrin::thumbsup: :thumbsup: :thumbsup: :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Adiciona uma label e um botão ao form e testa este código:

Public Class Form1

    ' Define o timer
    Private WithEvents tm As New Timer
    Private x As Byte

    ' Inicia o timer através de um botão
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.Label1.Text = String.Empty

        x = 5

        ' Começa após 5 segundos
        tm.Interval = 5000
        tm.Start()

    End Sub


    ' No evento tick
    Private Sub tm_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tm.Tick

        ' Define um novo interval
        tm.Interval = 1000

        ' Mostra a informação na label
        Me.Label1.Text = x.ToString

        ' Verifica se para ou não
        If x = 0 Then
            tm.Stop()
        Else
            x -= 1
        End If

    End Sub


End Class

PS: Para a próxima cria um tópico na secção correcta :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Adiciona uma label e um botão ao form e testa este código:

Public Class Form1

    ' Define o timer
    Private WithEvents tm As New Timer
    Private x As Byte

    ' Inicia o timer através de um botão
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.Label1.Text = String.Empty

        x = 5

        ' Começa após 5 segundos
        tm.Interval = 5000
        tm.Start()

    End Sub


    ' No evento tick
    Private Sub tm_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tm.Tick

        ' Define um novo interval
        tm.Interval = 1000

        ' Mostra a informação na label
        Me.Label1.Text = x.ToString

        ' Verifica se para ou não
        If x = 0 Then
            tm.Stop()
        Else
            x -= 1
        End If

    End Sub


End Class

PS: Para a próxima cria um tópico na secção correcta :(

Desculpa..mas eu criei o topico na secçao correcta:\---

Eu estou a Programar no Visual Basic 2008 Express Edition...

desculpa mas o codigo que me mandaste acho que e para o VB . NET...Sorry mais uma vez... :down:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

LOL,

Visual Basic 2008 Express Edition é VB.NET ... é a mesma coisa. Desde a versão 2002, em que se começou a utilizar uma framework é designado por VB.NET.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

LOL,

Visual Basic 2008 Express Edition é VB.NET ... é a mesma coisa. Desde a versão 2002, em que se começou a utilizar uma framework é designado por VB.NET.

:( aff...nao sabia eeh :)...mas o codigo que mandaste acho um bocado estranho...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:( aff...nao sabia eeh :)...mas o codigo que mandaste acho um bocado estranho...

É vb.net o código que te enviei, já testaste ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É vb.net o código que te enviei, já testaste ?

Sim sim funciona :)...so que mostra logo...5,4,3,2e para no 1...:\...

mas eu pretendo que tipo o timer vais 5,4,3,2,1,0(nao mostra na label)

quanto for 0 volta a ser 5(a variavel do contador)e agora mostra na Label:5,4,3,2,1,0 e o Timer para... :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, também se arranja!

Public Class Form1

    ' Define o timer
    Private WithEvents tm As New Timer
    Private x As Byte
    Private start As Boolean

    ' Inicia o timer através de um botão
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.Label1.Text = String.Empty

        x = 5

        tm.Interval = 1000
        tm.Start()

    End Sub


    ' No evento tick
    Private Sub tm_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tm.Tick

        ' Mostra a informação na label após a primeira volta
        If start Then
            Me.Label1.Text = x.ToString
        End If

        ' Verifica se para ou não
        If x = 0 Then
            If start Then
                tm.Stop()
            Else
                start = True
                x = 5
            End If
        Else
            x -= 1
        End If

    End Sub


End Class

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, também se arranja!

Public Class Form1

    ' Define o timer
    Private WithEvents tm As New Timer
    Private x As Byte
    Private start As Boolean

    ' Inicia o timer através de um botão
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Me.Label1.Text = String.Empty

        x = 5

        tm.Interval = 1000
        tm.Start()

    End Sub


    ' No evento tick
    Private Sub tm_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tm.Tick

        ' Mostra a informação na label após a primeira volta
        If start Then
            Me.Label1.Text = x.ToString
        End If

        ' Verifica se para ou não
        If x = 0 Then
            If start Then
                tm.Stop()
            Else
                start = True
                x = 5
            End If
        Else
            x -= 1
        End If

    End Sub


End Class

:cheesygrin: Funciona...Obrigado...pela ajuda??

ja agora podia explicar pk definiu assim

' Define o timer

    Private WithEvents tm As New Timer

    Private x As Byte

    Private start As Boolean

.............

  Me.Label1.Text = String.Empty

  Me.Label1.Text = x.ToString

....................

  x -= 1

Obrigado,...por tudo... :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

    Private WithEvents tm As New Timer

    Private x As Byte

    Private start As Boolean

Isto é a declaração de variáveis privadas ao form, ou seja, apenas podem ser utilizadas no form e não são visiveis/accessiveis fora dele. O WithEvents significa que cria um timer que tens os seus eventos disponíveis ... é como se colocasses um timer no form da toolbox

  Me.Label1.Text = String.Empty

  Me.Label1.Text = x.ToString

O primeiro coloca a label sem texto. Ao utilizares "" podes indicar um espaço (sem querer) e depois pode dar problemas numa comparação ... é mais correcto desta forma.

O x.ToString converte o x que é um byte para string.

  x -= 1

Isto é o mesmo que x = x - 1 só que mais simples :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto é a declaração de variáveis privadas ao form, ou seja, apenas podem ser utilizadas no form e não são visiveis/accessiveis fora dele. O WithEvents significa que cria um timer que tens os seus eventos disponíveis ... é como se colocasses um timer no form da toolbox

O primeiro coloca a label sem texto. Ao utilizares "" podes indicar um espaço (sem querer) e depois pode dar problemas numa comparação ... é mais correcto desta forma.

O x.ToString converte o x que é um byte para string.

Isto é o mesmo que x = x - 1 só que mais simples :)

Obrigado....Pela explicação.. :biggrin:.aprendi um coisa nova...Obrigado..:P

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