|
보통 함수를 이렇게 만듭니다.
void __fastcall Delay(int nTime)
{
DWORD nStartTM;
nStartTM = GetTickCount();
while(true)
{
if( nStartTM + nTime < GetTickCount() ) return;
Application->Processmessages(); //중간중간 다른프로세스를 실행하기위해
}
}
GetTickCount함수는 컴퓨터의 고유한 시간(현재시간)을 ms단위로 알려줍니다.
그래서 위처럼 구현하면 ms단위의 Delay함수를 만들수 있습니다.
빈라덴 님이 쓰신 글 :
: Sleep
: SleepEx
:
: 가령 10ms 동작을 딜레이 시키는 이런 함수가 있나요.
: 있으면 좀 알려주세여
:
:
: 옛 마이크로 프로세서에서는 delay()함수라고 있었던데...
:
: 볼렌드에서는 그런 함수는 없더라고요.
:
: 또 하나는
:
: for(int i=0;i<1000;i++)
: {
:
:
: }
:
: 이런식으로 해서도 지연을 시킬 수 있다고 들었습니다만...
: 정확히 시간을 알려면 어떻게 해야합니까?
:
: for문을 돌릴 떄 얼마나 시간이 걸리는 지 알기 위해서는 어케해야합니까?
|