stevenlewis
asked on
an easy one
simple timer is killing me
I have a form with
hourtxt.text set to 1 (textbox)
mintxt.text set to 2 (textbox)
sectxt.text set to 59 (textbox)
mmsectxt.text set to 10 (textbox)
timer named CountdownTim set to 100
label1 set to show the timer counting down
and a command button set to enable the timer
here is the code
Dim miHra As Integer 'use for the Hours of the timer
Dim miMina As Integer 'use for the Minutes of the timer
Dim miSeca As Integer 'use for the Seconds of the timer
Dim mimmseca As Integer 'used for milliseconds for timer
Private Sub Command1_Click()
CountdownTim.Enabled = True
End Sub
Private Sub CountdownTim_Timer() 'COUNTDOWN TIMER
miHra = hourtxt.Text 'hours
miMina = Mintxt.Text 'minutes
miSeca = Sectxt.Text 'seconds
mimmseca = mmSectxt.Text 'milliseconds
mimmseca = mimmseca - 1
If mimmseca = 0 Then
mimmseca = 10
miSeca = miSeca - 1
End If
If miSeca = 0 Then
miSeca = 60
miMina = miMina - 1
End If
If miMina = 0 Then
miMina = 60
miHra = miHra - 1
End If
If miHra = 0 Then
miHra = 12
End If
Label1.Caption = miHra & ":" & miMina & ":" & miSeca & ":" & mimmseca
End Sub
now when I click on the command buttom, the label shows 1:2:59:10
and it doesn't move
It should at least show 1:2:59:9
why ain't it workin?
I have a form with
hourtxt.text set to 1 (textbox)
mintxt.text set to 2 (textbox)
sectxt.text set to 59 (textbox)
mmsectxt.text set to 10 (textbox)
timer named CountdownTim set to 100
label1 set to show the timer counting down
and a command button set to enable the timer
here is the code
Dim miHra As Integer 'use for the Hours of the timer
Dim miMina As Integer 'use for the Minutes of the timer
Dim miSeca As Integer 'use for the Seconds of the timer
Dim mimmseca As Integer 'used for milliseconds for timer
Private Sub Command1_Click()
CountdownTim.Enabled = True
End Sub
Private Sub CountdownTim_Timer() 'COUNTDOWN TIMER
miHra = hourtxt.Text 'hours
miMina = Mintxt.Text 'minutes
miSeca = Sectxt.Text 'seconds
mimmseca = mmSectxt.Text 'milliseconds
mimmseca = mimmseca - 1
If mimmseca = 0 Then
mimmseca = 10
miSeca = miSeca - 1
End If
If miSeca = 0 Then
miSeca = 60
miMina = miMina - 1
End If
If miMina = 0 Then
miMina = 60
miHra = miHra - 1
End If
If miHra = 0 Then
miHra = 12
End If
Label1.Caption = miHra & ":" & miMina & ":" & miSeca & ":" & mimmseca
End Sub
now when I click on the command buttom, the label shows 1:2:59:10
and it doesn't move
It should at least show 1:2:59:9
why ain't it workin?
Are you refreshing your label?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
This code is even better
Dim miHra As Integer 'use for the Hours of the timer
Dim miMina As Integer 'use for the Minutes of the timer
Dim miSeca As Integer 'use for the Seconds of the timer
Dim mimmseca As Integer 'used for milliseconds for timer
Private Sub Command1_Click()
CountdownTim.Enabled = True
miHra = hourtxt.Text 'hours
miMina = Mintxt.Text 'minutes
miSeca = Sectxt.Text 'seconds
mimmseca = mmSectxt.Text 'milliseconds
End Sub
Private Sub CountdownTim_Timer() 'COUNTDOWN TIMER
If Not mimmseca = 0 Then mimmseca = mimmseca - 1
If mimmseca = 0 And mimmseca > 0 Then
mimmseca = 9
If Not miSeca = 0 Then miSeca = miSeca - 1
End If
If miSeca = 0 And miMina > 0 Then
miSeca = 59
If Not miMina = 0 Then miMina = miMina - 1
End If
If miMina = 0 And miHra > 0 Then
miMina = 59
If Not miHra = 0 Then miHra = miHra - 1
End If
'If miHra = 0 Then
' miHra = 12
'End If
Label1.Caption = miHra & ":" & miMina & ":" & miSeca & ":" & mimmseca
End Sub
-------------------------- --------
There Are 10 Kind OF People
Those Who Understands Binaray And Those Who Dont
Dim miHra As Integer 'use for the Hours of the timer
Dim miMina As Integer 'use for the Minutes of the timer
Dim miSeca As Integer 'use for the Seconds of the timer
Dim mimmseca As Integer 'used for milliseconds for timer
Private Sub Command1_Click()
CountdownTim.Enabled = True
miHra = hourtxt.Text 'hours
miMina = Mintxt.Text 'minutes
miSeca = Sectxt.Text 'seconds
mimmseca = mmSectxt.Text 'milliseconds
End Sub
Private Sub CountdownTim_Timer() 'COUNTDOWN TIMER
If Not mimmseca = 0 Then mimmseca = mimmseca - 1
If mimmseca = 0 And mimmseca > 0 Then
mimmseca = 9
If Not miSeca = 0 Then miSeca = miSeca - 1
End If
If miSeca = 0 And miMina > 0 Then
miSeca = 59
If Not miMina = 0 Then miMina = miMina - 1
End If
If miMina = 0 And miHra > 0 Then
miMina = 59
If Not miHra = 0 Then miHra = miHra - 1
End If
'If miHra = 0 Then
' miHra = 12
'End If
Label1.Caption = miHra & ":" & miMina & ":" & miSeca & ":" & mimmseca
End Sub
--------------------------
There Are 10 Kind OF People
Those Who Understands Binaray And Those Who Dont
ASKER
this code is even better stops after counting down 10 msecs
however the first code you posted works great.
You mean all I had to do was move
miHra = hourtxt.Text 'hours
miMina = Mintxt.Text 'minutes
miSeca = Sectxt.Text 'seconds
mimmseca = mmSectxt.Text 'milliseconds
from out of thetimer sub and to the click sub
Doh! LOL
thanks!!
however the first code you posted works great.
You mean all I had to do was move
miHra = hourtxt.Text 'hours
miMina = Mintxt.Text 'minutes
miSeca = Sectxt.Text 'seconds
mimmseca = mmSectxt.Text 'milliseconds
from out of thetimer sub and to the click sub
Doh! LOL
thanks!!
ASKER