// IntervalTimer.cpp: implementation of the CIntervalTimer class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "IntervalTimer.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CIntervalTimer::CIntervalTimer()
{
m_bTimerStart = false;
}
CIntervalTimer::CIntervalTimer(const CIntervalTimer &src)
{
m_StartTime = src.m_StartTime;
m_Interval = src.m_Interval;
m_bTimerStart = true;
}
CIntervalTimer& CIntervalTimer::operator = (const CIntervalTimer &src)
{
m_StartTime = src.m_StartTime;
m_Interval = src.m_Interval;
m_bTimerStart = src.m_bTimerStart;
return *this;
}
//开始计数
void CIntervalTimer::Start(int interval)
{
m_bTimerStart = true;
m_StartTime = GetTickCount();
m_Interval = interval > 0 ? interval : 100;
m_Elapse = 0;
};
//停止计时
void CIntervalTimer::Stop()
{
m_bTimerStart = false;
m_StartTime = 0;
m_Interval = 0;
}
//判断时间是否已经到
bool CIntervalTimer::Timeout()
{
if (m_bTimerStart)
{
m_Elapse = _GetMilliSeconds(m_StartTime);
return m_Elapse >= m_Interval;
}
return false;
}
//获得启动后的毫秒秒数
DWORD CIntervalTimer::_GetMilliSeconds(DWORD dwStartTime)
{
DWORD ret = 0;
DWORD nowtick = GetTickCount();
if (nowtick >= dwStartTime)
{
ret = nowtick - dwStartTime;
}
else
{
ret = ((DWORD)0xffffffff) - dwStartTime + nowtick;
}
return ret;
}
void CIntervalTimer::TraceInfo(const char *szPrefix)
{
ASSERT(szPrefix != NULL);
TRACE("***%s*** StartTime=%d, Interval=%d, Elapse=%d\n", szPrefix, m_StartTime, m_Interval, m_Elapse);
}
C++ VC MFC 简单定时器
需积分: 34 95 浏览量
2017-11-17
11:27:48
上传
评论 2
收藏 1KB RAR 举报
IT菜鸟936
- 粉丝: 2
- 资源: 3
最新资源
- Python 版冒泡排序算法源代码
- tensorflow-gpu-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- tensorflow-2.7.3-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp39-cp39-manylinux2010-x86-64.whl
- Python版本快速排序源代码
- Python 语言版的快速排序算法实现
- 450815388207377安卓_base.apk
- 超微主板 X9DRE-TF+ bios 支持 nvme启动
- 基于Python通过下载气象数据和插值拟合离散数据曲线实现对寒潮过程的能量分析
- 智能车仿真软件.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈