Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2011, 23:26   #1
nattaella
 
Регистрация: 08.01.2011
Сообщений: 8
Вопрос таймер

у меня есть две процедуры, перерыв между которыми должен быть 2 секунды:
procedure 1;
sleep(2000);
procedure 2;

Сначала пробовала функцию sleep(2000); но он не задерживает, а блокирует работу программы. А таймер актуален только при повторении с каким-то интервалом какого-то участка кода. Что мне нужно сделать?
nattaella вне форума Ответить с цитированием
Старый 11.06.2011, 23:42   #2
volod3000
Форумчанин
 
Аватар для volod3000
 
Регистрация: 18.12.2008
Сообщений: 266
По умолчанию

Попробуйте так:

Код:
procedure 1;
Application.ProcessMessages;
sleep(2000);
procedure 2;

Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя.
volod3000 вне форума Ответить с цитированием
Старый 11.06.2011, 23:48   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

разницы почти никакой, так как те две секунды поток всеравно блокирован.
http://programmersforum.ru/showpost....2&postcount=16
можно такое применить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.06.2011, 11:16   #4
Merkator
Читаю Кормена
Пользователь
 
Аватар для Merkator
 
Регистрация: 28.12.2008
Сообщений: 46
По умолчанию

Я делал проще: создавал 1 таймер.
Внутрь первой функции записывал timer1.enabled:=true;
А в самом таймере вызывал вторую функцию и отключал таймер.
Merkator вне форума Ответить с цитированием
Старый 20.06.2011, 22:04   #5
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

Код:
procedure 1;
t:=GetTickCount();
while (GetTickCount-t)<2000 do
  Application.ProcessMessages;
procedure 2;
Silver_S вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
таймер Tema_666 Общие вопросы Delphi 6 03.03.2011 09:20
Таймер Shift_sk Паскаль, Turbo Pascal, PascalABC.NET 9 10.01.2011 15:02
таймер antonov Помощь студентам 6 08.11.2010 19:17
Таймер Nitrino Общие вопросы C/C++ 2 29.12.2009 23:17
Таймер в С# kommunist Общие вопросы .NET 3 02.06.2008 12:11