![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| valex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.4.2002 Репутация: нет Всего: нет |
Господа, есть ли у кого пример как сделать задержку по времени в ОС Windows. В паскале под DOS это выглядело так Delay(...).
[email protected] |
|||
|
||||
| Mikel |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 882 Регистрация: 30.3.2002 Где: Саратов Репутация: 1 Всего: 2 |
Надо просто поспать
n в мсек. -------------------- ...so remember, it's better to burn out than to fade away |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
К сожалению Sleep() останавливает текущую нить.
Я бы рекомендовал пользоваться GetTickCount() -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Винды - это многозадачная система, поэтому надо учитывать что именно надо сделать:
1) Остановить текущую нить и все процессорное время передать другим процессам. Другими словами - текущий процесс будет полностью остановлен, не будут обрабатываться события, прорисовка экрана, зато все другие процессы станут работать быстрее, так как мы отдадим им время - если надо так то ставьте sleep 2) Сделать задержку, но приложение будет продолжать поглощать время процессора при этом обрабатывать сообщения и т.п. тогда GetTickCount -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| valex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.4.2002 Репутация: нет Всего: нет |
Я пишу программу на Borland Pascal. Программирую некое устройство, которое работает с COM портом и использует сигналы RTS, DTR, CTS.
Я формирую импульсы некой длительности. Делаю я это так: 1. Включаю сигнал DTR 2. Кручу цикл следующего вида for i:=0 to ATime do begin DispatchMessage(msg); TranslateMessage(msg); end; ATime время, msg типа TMsg. 3. Выключаю DTR. 4. Повторяю заново. Вопросы: 1. Верно ли сделана садержка. Не повесит ли она Windows или остальные приложения в один прекрасный день? 2. Как высчитать точно время в мс? |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |