home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 7_2009-2012.ISO / data / zips / Hex_string219759262011.psc / Timings.bas < prev   
BASIC Source File  |  2011-01-31  |  856b  |  26 lines

  1. Attribute VB_Name = "Timings"
  2. Option Explicit
  3.  
  4. Private Declare Function QueryPerformanceCounter Lib "kernel32" (X As Currency) As Boolean
  5. Private Declare Function QueryPerformanceFrequency Lib "kernel32" (X As Currency) As Boolean
  6.  
  7. Dim m_Time As Double
  8. Dim m_TimeFreq As Double
  9. Dim m_TimeStart As Currency
  10.  
  11. Public Property Get Timing() As Double
  12.     Dim curTime As Currency
  13.     QueryPerformanceCounter curTime
  14.     Timing = (curTime - m_TimeStart) * m_TimeFreq + m_Time
  15. End Property
  16.  
  17. Public Property Let Timing(ByVal NewValue As Double)
  18.     Dim curFreq As Currency, curOverhead As Currency
  19.     m_Time = NewValue
  20.     QueryPerformanceFrequency curFreq
  21.     m_TimeFreq = 1 / curFreq
  22.     QueryPerformanceCounter curOverhead
  23.     QueryPerformanceCounter m_TimeStart
  24.     m_TimeStart = m_TimeStart + (m_TimeStart - curOverhead)
  25. End Property
  26.