Jump to content
Fórum Script Brasil
  • 0

Cronometro


Israel Murat
 Share

Question

8 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...