|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Time Delay in C++Builder 4 or 5 |
|
|
Time Delay in C++Builder 4 or 5
|
![]() Guest |
Нужна задержка с точностью 0.1 сек по крайней мере
|
|
Отправлено: 12:01, 27-12-2002 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Задержку с такой точностью реально организовать обычным Sleep().
|
------- Отправлено: 12:09, 27-12-2002 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Guest |
Sleep не позволяет на самом деле делать задержки менее 37 милисекунд. Даже если ему поставить 1 мсек - то реально будет 37 или более!!! Как быть???
|
Отправлено: 12:27, 27-12-2002 | #3 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Guest
0,1 с - это 100 мс, так что аккуратнее (кроме того, 37 или нет - зависит от очень многих факторов, включая прежде всего версию операционной системы). 1) Какую задержку надо и с какой точностью она должна отмеряться? 2) На каких системах это должно работать. |
------- Отправлено: 13:18, 27-12-2002 | #4 |
![]() Guest |
1. Задержка нужна с точностью 10 мсек.
2. Хорошо бы чтоб на всех, но для начала Win2000, NT4. Но желательно знать как бороться с этой проблемой во всех операционных системах. Спасибо |
|
Отправлено: 22:15, 27-12-2002 | #5 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Guest
Для таких задержек можно использовать WaitableTimer или даже обычный, если заюзать код ниже. Еще раз, величина задержки и точность ее отмеривания - разные вещи. Ясно, что величина больше, чем точность, но можно задаться целью отмерять задержки в 1 секунду с точностью 1 мс, то есть, выполнение будет происходить через 1 секунду +- 1 мс. А у вас 10 мс - это видимо величина задержки (интервал), с какой точностью его надо отмерять? Еще советую (для NT) выполнить такой код: #define NTSTATUS int #define STATUS_SUCCESS 0 #define NTAPI __stdcall NTSTATUS NTAPI ZwQueryTimerResolution (OUT PULONG CoarsestResolution, OUT PULONG FinestResolution, OUT PULONG ActualResolution); NTSTATUS NTAPI ZwSetTimerResolution (IN ULONG RequestedResolution, IN BOOLEAN Set, OUT PULONG ActualResolution); ULONG ActualResolution; ULONG MinimumResolution; ULONG MaximumResolution; if (ZwQueryTimerResolution(&MinimumResolution,&MaximumResolution,&ActualResolution) == STATUS_SUCCESS) ZwSetTimerResolution(MinimumResolution, TRUE, &ActualResolution); Устанавливает разрешение системного таймера для текущего процесса на минимально возможное (в большинстве случаев - 1 мс). |
------- Отправлено: 13:23, 30-12-2002 | #6 |
Старожил Сообщения: 163
|
Профиль | Отправить PM | Цитировать Странно, а как же квант времени, выделяемый на одну задачу? Еще меньше кванта? Я то боролся по старинке с этим. Запускал фоновый процесс на 2 сек, который считал количество пустых циклов и потом считал, что это быстродействие компьютера, а там где задержка - циклов меньше, естественно.
![]() |
------- Отправлено: 07:01, 14-01-2003 | #7 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Crew
Только такие решения систему грузят. |
------- Отправлено: 10:51, 14-01-2003 | #8 |
Старожил Сообщения: 163
|
Профиль | Отправить PM | Цитировать vasketsov
Цитата:
А что за тип данных PULONG ? Я такого не встречал еще. [s]Исправлено: Crew, 5:55 15-01-2003[/s] |
|
------- Отправлено: 05:53, 15-01-2003 | #9 |
Модер Сообщения: 1716
|
Профиль | Сайт | Отправить PM | Цитировать Crew
1) из ntdll.dll, написано внизу сообщения. 2) PULONG - указатель на ULONG. |
------- Отправлено: 11:45, 15-01-2003 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBA - run-time error | иоанн | Программирование и базы данных | 2 | 02-10-2012 19:44 | |
Mipko Time Sheriff 1.20 | OSZone Software | Новости программного обеспечения | 0 | 15-10-2009 16:30 | |
Delay: 58440ms | chameleonfeo | Видео и аудио: обработка и кодирование | 4 | 23-11-2006 20:59 | |
Time в W2003 | Paaxaan | Microsoft Windows NT/2000/2003 | 13 | 18-11-2005 09:58 | |
Wheel of Time | himik | Игры | 2 | 27-02-2003 10:00 |
|