Вопрос: Нужно задержать выполнение ф-ии на интервал, меньше секунды.Как мне можно это сделать?
Ф-ии Delay(), которая это прекрасно делает в BCB 5.0 отсутствует, а Sleep не устроит.
Ответ :
code:
--------------------------------------------------------------------------------
void delay(__int64 mcSec)
{
LARGE_INTEGER startTime, tmp;
LARGE_INTEGER freq; QueryPerformanceCounter(&startTime);
QueryPerformanceFrequency(&freq);
__int64 d = (__int64)freq.QuadPart/1000000;
while(1)
{
QueryPerformanceCounter(&tmp);
if(__int64(tmp.QuadPart - startTime.QuadPart)/d > mcSec)
break;
// Application->ProcessMessages(); // Раскомментировать , если приложение "не отвечает"
}
}
--------------------------------------------------------------------------------
Дополнение:
for(; i < ComponentCount; i++)
перебирает компоненты формы, а мне ведь нужна программа
for(; i < Application->ComponentCount; i++)
решило проблему!
(c) 2003 Borland X Portal
|