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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2009, 22:10   #1
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию Таймер на паузу.

Нужно поставить таймер на паузу.
Например при нажатии на button1 таймер останавливается, а при button2 продолжается.
Если сделать

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.enabled:=False;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.enabled:=True;
end;
То при нажатии на Button1 а затем Button2 таймер начнет отчет с нуля. А мне нужно чтобы он продолжил отчет с того, на чем остановился.
GrindeX вне форума Ответить с цитированием
Старый 26.11.2009, 22:46   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Цитата:
таймер начнет отчет с нуля. А мне нужно чтобы он продолжил отчет с того, на чем остановился.
Отсчет чего?
Поставить на паузу таймер можно только таким способом, который у вас.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 26.11.2009, 22:56   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

может подойти к задаче по-другому стоит? вы чего хотите добиться, подсчет интервалов?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 26.11.2009, 23:13   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Какие интервалы времени вас интересуют?
Секунды, доли секунд или миллисекунды?
Реализация во многом зависит от этого, как вам уже намекнул уважаемый raxp.
mihali4 вне форума Ответить с цитированием
Старый 26.11.2009, 23:27   #5
GrindeX
Пользователь
 
Регистрация: 02.05.2009
Сообщений: 26
По умолчанию

Нужны миллисекунды.
GrindeX вне форума Ответить с цитированием
Старый 26.11.2009, 23:41   #6
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Нужны миллисекунды.
Этот таймер все равно не точный.
Цитата:
Вот тут посмотри : http://www.interface.ru/fset.asp?Url...d/delzampr.htm
Там внизу страницы теория и листинг использования Win API ,а не стандартного временного таймера с его 55 мс.
Вадим Буренков вне форума Ответить с цитированием
Старый 26.11.2009, 23:55   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от GrindeX Посмотреть сообщение
Нужны миллисекунды.
Тогда только GetTickCount. Считаете, сколько натикало от запуска до нажатия первого батона, засекаете это время и вычитаете его из того, которое будет в момент нажатия второго батона...
И так далее.
mihali4 вне форума Ответить с цитированием
Старый 27.11.2009, 00:03   #8
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Попытайтесь в сторону мультимедийного таймера на API.Встречал здесь на форуме.По поводу продолжения отсчета - сам счет таймера надо хранить в переменной и при каждом последующем запуске подсчет продолжать не с нуля, а с этого запомненного значения.
Код:
var count: integer = 0; // глобально
procedure Form1.Timer1Timer(Sender: TJbject);
begin
   Inc(count);
   { в переменной count будет общее количество циклов таймера
      count * Interval = фактическое общее время работы таймера }
end;
Или же использовать FormatDateTime(). Смотрите http://www.programmersforum.ru/showt...344#post392344
пост #4.Решается схожая задача по засечке интервала работы части программы.
Что то приблизительное во вложении:
Вложения
Тип файла: rar Время работы таймера.rar (3.1 Кб, 10 просмотров)
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 27.11.2009 в 10:42.
DeKot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер graff Общие вопросы C/C++ 11 04.07.2009 01:36
как сделать паузу (или задержку) в цыкле : с# Natok Помощь студентам 7 30.05.2009 12:55
Таймер на паузу yulia Общие вопросы Delphi 16 02.12.2008 18:09
Таймер в С# kommunist Общие вопросы .NET 3 02.06.2008 12:11
таймер darkcoder Общие вопросы Delphi 5 06.12.2007 06:14