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

Cronometro


Israel Murat

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Achei um projeto aqui no site de um cronometro e resolvi tentar usá-lo... na verdade funciona direitinho, mas preciso de uma ajudinha pra arrumá-lo nos finalmentes...

tem 3 botões e uma label onde fica rodando o tempo(watch)

START, LAP e STOP

e um timer configurado com intervalo 100 para rolar os centesimos ali

os códigos são assim:

Private Sub START_click()

watch.caption = "0"

timer1.enabled=true

end sub

Private Sub STOP_click()

timer1.enabled= false

end sub

Private Sub LAP_click()

timer1.enabled=true

watch.caption = "0"

end sub

Private Sub Timer1_timer()

watch.caption = STR(Val(watch.caption) + 0.01 + 0.1)

end sub

ta assim os códigos.

Agora o que preciso de ajuda é o seguinte:

1º) do jeito que tah configurado pra rodar o tempo ele conta os centesimos, decimos e os segundos... mas quando chega em um minuto ele continua 60segundos, 61 segundos, e assim por diante.... tem um jeito de eu configurar pra quando chegar nos 60 ele aparecer 1 min e começar os segundos dnv??

2º) embaixo do cronometro eu coloquei algumas caixas onde devem ir os tempos... tem como na hora que eu clicar no botão lap as caixas irem sendo preenchidas com o tempo que tinha naquele momento? igual a relógio ou cronometro mesmo sabe??

preciso muito de ajuda galera

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
1º) do jeito que tah configurado pra rodar o tempo ele conta os centesimos, decimos e os segundos... mas quando chega em um minuto ele continua 60segundos, 61 segundos, e assim por diante.... tem um jeito de eu configurar pra quando chegar nos 60 ele aparecer 1 min e começar os segundos dnv??

o esquema é você mesmo montar a string baseado no valor. tipo, você divide o numero de segundos por 60 e vai ter o numero de minutos. ai você tira o mod e vai ter os segundos a mais.

bom, de exemplo, tenho aqui uma funcao q eu fiz q, passando os segundos por parametro, ele monta a string no formato "HH:MM:SS", se você quiser outro formato, pode adapta-la o fazer otra funcao, mas pode usar a minha de exemplo:

Public Function MontaHoraS(Seg As Double) As String
    Dim Hor As Double, Min As Double
    
    Hor = Int(Seg / 3600)
    Seg = Seg - (Hor * 3600)
    
    Min = Int(Seg / 60)
    Seg = Seg - (Min * 60)
    
    MontaHoraS = MontaHoraS & Hor & ":" & _
        IIf(Len(CStr(Min)) = 1, "0", "") & Min & ":" & _
        IIf(Len(CStr(Seg)) = 1, "0", "") & Seg
End Function[/code]
2º) embaixo do cronometro eu coloquei algumas caixas onde devem ir os tempos... tem como na hora que eu clicar no botão lap as caixas irem sendo preenchidas com o tempo que tinha naquele momento? igual a relógio ou cronometro mesmo sabe??
não, entendi direito. não é so atribuir o valor, tipo:
[code]Text1.Text = var

Link para o comentário
Compartilhar em outros sites

  • 0

em relação ao primeiro... eu entendi o código... só não entendi uma coisa... onde coloco ele? rsrs

meio burro não é?? mas beleza... me explica ai.. é no timer? ou na label que aparece o tempo?

em relação ao segundo...

tipo... seria...

o problema é assim oh:

tem por exemplo 4 caixas embaixo(numberbox por exemplo)

quando o cara apertar o botão LAP a primeira vez, o tempo que estiver no momento tem que ir pra caixa 1 e o relogio vai começar a rodar dnv...

ai quando o cara apertar dnv o botão LAP, o tempo vai para a caixa 2 e ai o relogio começa dnv

ai ele clica no botão LAP uma terceira vez, e o tempo tem que ir pra caixa 3 e o relogio começa dnv

e ai por ultimo ele vai clicar no botão STOP e o tempo vai pra caixa 4... entendeu?

como eu faço pra cada vez q ele clicar ir pra uma caixa diferente?

Link para o comentário
Compartilhar em outros sites

  • 0
em relação ao primeiro... eu entendi o código... só não entendi uma coisa... onde coloco ele? rsrs

meio burro não é?? mas beleza... me explica ai.. é no timer? ou na label que aparece o tempo?

tipo a funcao ela deve ficar declarada em qualquer canto pra poder ser chamada a qualquer hora. o melhor é colocar no Module já q os modules servem pra isso mesmo, pra declarar funcoes e variaveis publicas. ai pra chamar você faria assim:

Text1.Text = MontaHoraS(segundos)

onde segundos é o nome da variavel onde os segundos estao sendo somados

tem por exemplo 4 caixas embaixo(numberbox por exemplo)

quando o cara apertar o botão LAP a primeira vez, o tempo que estiver no momento tem que ir pra caixa 1 e o relogio vai começar a rodar dnv...

ai quando o cara apertar dnv o botão LAP, o tempo vai para a caixa 2 e ai o relogio começa dnv

ai ele clica no botão LAP uma terceira vez, e o tempo tem que ir pra caixa 3 e o relogio começa dnv

e ai por ultimo ele vai clicar no botão STOP e o tempo vai pra caixa 4... entendeu?

como eu faço pra cada vez q ele clicar ir pra uma caixa diferente?

mtos jeitos, você pode usar uma variavel e setar 0 pra ela quando abrir o form. ai você testa, se tiver 0 você preenche o primeiro e soma mais 1 nessa variavel. se ela tiver com valor 1 você preenche o segundo e soma mais 1. se ela tiver com valor 2 você preenche o tercero e soma mais 1 e assim vai.

Link para o comentário
Compartilhar em outros sites

  • 0

essa parte acredito q você tenha entendido não??

tipo a funcao ela deve ficar declarada em qualquer canto pra poder ser chamada a qualquer hora. o melhor é colocar no Module já q os modules servem pra isso mesmo, pra declarar funcoes e variaveis publicas. ai pra chamar você faria assim:

Text1.Text = MontaHoraS(segundos)
onde segundos é o nome da variavel onde os segundos estao sendo somados
bom se não entendeu, explica melhor q parte disso não entendeu. quanto ao lap, declare uma variavel tipo assim, no topo do form:
Dim c As Integer
no Form_Load, atribua o valor 0 pra ela. ai no click do lap, deve ficar mais o menos assim:
Private Sub LAP_Click()
    If c = 0 Then
        Text1.Text = tempo 'ACREDITO Q O TEMPO SEJA watch.caption
    ElseIf c = 1 Then
        Text2.Text = tempo
    ElseIf c = 2 Then
        Text3.Text = tempo
    ElseIf c = 3 Then
        Text4.Text = tempo
    End If
    c = c + 1

    timer1.Enabled = True
    watch.Caption = "0"
End Sub[/code]

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...