Ir para conteúdo
Fórum Script Brasil
  • 0

Timer Regressivo


Diegostf

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0
então Diego, se está confuso a melhor coisa é postar o código onde está com dúvida que nos vamos tentando solucionar..

então rafael desculpe pela demora de postar, tive um problema na net!

então voltando ao assunto!

na base da logica eu faço o seguinte! supondo que um timer vai se regredindo de 2 Horas 59 Minutos, 59 segundos ATE 0:00

var

Hora,minuto,segundo:inteiro

inicio

hora <- 2

minuto <- 59

segundo <- 59

ENQUANTO (hora <> -1) FACA

timer 1000

timer 0

segundo <- segundo - 1

SE segundo = 0 então

minuto <- minuto -1

segundo <- 59

FIMSE

SE minuto = 0 então

hora <- hora - 1

minuto <- 59

FIMSE

limpatela

escreva (hora,":",minuto,":",segundo)

FIMENQUANTO

certo que tem algums erros ai porque fiz correndo!

mais a questao e como eu passo isso no VB?

eu teria que colocar esse codigo na ABA da ferramenta "TIMER" por exemplo? ou algum botao? ai esta a duvida!

e como eu faria pra ele ir regredindo e ir mostrando na FORM por uma LABEL!

Abraços :wub:

Link para o comentário
Compartilhar em outros sites

  • 0

é o seguinte, insira o timer no formulario e ele deve aparecer la embaxo, certo??

então, selecione ele e na propriedade Interval, na direita, ponha 1000 (1000 milisegundos = 1 segundo, é o intervalo no qual o codigo do timer sera executado). e mude a propriedade Enabled para True (ou você pode fazer isso por codigo quando você quiser habilita-lo)

então de um duplo clique no timer, o vai te levar pra janela de codigos, chamando o evento tick, o q deve montar um codigo assim:

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

End Sub[/code]

pronto, esse é o evento do timer. a cada segundo, todo o codigo q você puser ai dentro sera executado.

ai pra calcular o tempo, você declara essas tres variaveis la em cima (dentro de Public Class mas não pode estar dentro de nenhum Sub ou Function) e inicializa elas com os valores no Form_Load.

ai você poe esse seu codigo ai (com a devida sintaxe) dentro do evento Tick do timer e manda mostrar no Label.

quando chegar no final (em 0), você manda desabilitar o Timer pela propriedade Enabled.

EDITADO:

e pra facilitar na verdade você poderia usar uma variavel so, como eu disse no otro post, inicializando com 120 segundos, e usar a funcao TimeSerial() pra mostrar.

Link para o comentário
Compartilhar em outros sites

  • 0
é o seguinte, insira o timer no formulario e ele deve aparecer la embaxo, certo??

então, selecione ele e na propriedade Interval, na direita, ponha 1000 (1000 milisegundos = 1 segundo, é o intervalo no qual o codigo do timer sera executado). e mude a propriedade Enabled para True (ou você pode fazer isso por codigo quando você quiser habilita-lo)

então de um duplo clique no timer, o vai te levar pra janela de codigos, chamando o evento tick, o q deve montar um codigo assim:

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

End Sub

pronto, esse é o evento do timer. a cada segundo, todo o codigo q você puser ai dentro sera executado.

ai pra calcular o tempo, você declara essas tres variaveis la em cima (dentro de Public Class mas não pode estar dentro de nenhum Sub ou Function) e inicializa elas com os valores no Form_Load.

ai você poe esse seu codigo ai (com a devida sintaxe) dentro do evento Tick do timer e manda mostrar no Label.

quando chegar no final (em 0), você manda desabilitar o Timer pela propriedade Enabled.

EDITADO:

e pra facilitar na verdade você poderia usar uma variavel so, como eu disse no otro post, inicializando com 120 segundos, e usar a funcao TimeSerial() pra mostrar.

Entendi kuroi!

obrigado pela explicação!

so mais uma duvida!

como faço para Label mostrar na tela o timer se regredindo!?

eu deveria colocar no FORM_LOAD por exemplo?

label.text = timer1

ou algo do tipo?

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

acho q você não entendeu...

o objeto timer1 não tem valor de tempo nenhum. tdo o q ele faz é executar um codigo a cada intervalo de tempo. isso é o timer.

o codigo q vai ser executado é o q você colocar dentro dessa sub:

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

End Sub[/code]

ou de qualquer outra sub q tiver o Handles Timer1.Tick

ou seja, esse codigo q você passou tem q ser posto dentro da sub acima e não do form load.

so q não vai dar certo se você tentar pegar o tempo direto do timer. tem q ser da variavel q você tem q declarar (de acordo com o q eu disse no post de cima).

lembra do q eu disse mais em cima ainda:

o timer não conta nd, ele so permite q você execute o codigo a medida q o tempo vai passando.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...