timedelay.cpp

来自「光学仪器的控制系统 用于教学和科研的仪器」· C++ 代码 · 共 46 行

CPP
46
字号
//---------------------------------------------------------------------------


#pragma hdrstop

#include "TimeDelay.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

__fastcall TimeDelay::TimeDelay()
	: TObject()
{
}
//---------------------------------------------------------------------------
__fastcall TimeDelay::~TimeDelay()
{
	//---- Place thread code here ----
}
//---------------------------------------------------------------------------
void TimeDelay::delay_us(int time)
{
      LARGE_INTEGER frequent,interval,previous,current;

      QueryPerformanceFrequency(&frequent);
      interval.QuadPart=time*(float)frequent.QuadPart/1000000;
      QueryPerformanceCounter(&previous);
      current=previous;
      while(current.QuadPart-previous.QuadPart<interval.QuadPart)
        QueryPerformanceCounter(&current);
}
//---------------------------------------------------------------------------
void TimeDelay::delay_ms(int time)
{
      LARGE_INTEGER frequent,interval,previous,current;

      QueryPerformanceFrequency(&frequent);
      interval.QuadPart=time*(float)frequent.QuadPart/1000;
      QueryPerformanceCounter(&previous);
      current=previous;
      while(current.QuadPart-previous.QuadPart<interval.QuadPart)
        QueryPerformanceCounter(&current);
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?