Rocky Smolin
rockysmolin at bchacc.com
Sat Jul 16 09:10:25 CDT 2011
Ooh, I could that. Can I get a copy when it's ready?
Sign me,
Living With a StarCraft Addict
(Rocky)
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Saturday, July 16, 2011 6:35 AM
To: Access Developers discussion and problem solving
Subject: [AccessD] Elapsed time class - Stuart please ignore...
I'm building a little database to time / log my son's computer time. I have
a form which he uses to
select a game which opens the game for him, creates a record in the table
and starts the timer,
leaving this form up in the background behind the game. As he closes the
game the form becomes
visible and he clicks a button to update the stop time in the table and
stops the elapsed time timer.
Not yet done, I will be causing the form to beep at him as he goes over the
allotted time to play
the game.
Nothing special here, just wrapping the code / date I needed to measure
elapsed time into a class.
Obviously the point of putting it in a class is that it can be used in one
or a hundred forms to
perform elapsed time calcs, and it carves out all of that data / logic into
a single place.
To use it in any form just dimension a variable and set it to a new instance
of the variable:
Dim mcElapsedTime As clsElapsedTime
Private Sub Form_Open(Cancel As Integer)
Set mcElapsedTime = New clsElapsedTime
Me.TimerInterval = 1000 - set up the timer for one second timer
ticks
End Sub
Private Sub Form_Timer()
mcElapsedTime.UpdateElapsedTime
txtElapsedTime = mcElapsedTime.pElapsedTime
End Sub
The elapsed time class:
Option Compare Database
Option Explicit
Private mlngSeconds As Long
Private mlngMinutes As Long
Private mlngHours As Long
Private mstrElapsedTime
Property Get pElapsedTime() As String
pElapsedTime = mstrElapsedTime
End Property
Property Get pSeconds() As Long
pSeconds = mlngSeconds
End Property
Property Get pMinutes() As Long
pMinutes = mlngMinutes
End Property
Property Get pHours() As Long
pHours = mlngHours
End Property
Private Function CalcElapsedTime()
mstrElapsedTime = mlngHours & ":" & mlngMinutes & ":" & mlngSeconds
End Function
Function mResetElapsedTime()
mlngSeconds = 0
mlngMinutes = 0
mlngHours = 0
End Function
Function UpdateElapsedTime()
mlngSeconds = mlngSeconds + 1
If mlngSeconds >= 60 Then
mlngSeconds = 0
mlngMinutes = mlngMinutes + 1
End If
If mlngMinutes >= 60 Then
mlngMinutes = 0
mlngHours = mlngHours + 1
End If
CalcElapsedTime
End Function
--
John W. Colby
www.ColbyConsulting.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com