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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2011, 19:05   #1
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию timer1.interval

Код:
timer1.interval:=30000
Возможно ли как-то определить сколько прошло уже секунд?
celovec вне форума Ответить с цитированием
Старый 19.03.2011, 19:27   #2
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

GetTickCount в момент запуска или OnTimer.
И GetTickCount в нужный момент.
Разница между ними, поделенная на 1000 и есть "сколько прошло в секундах"...
asmodey1 вне форума Ответить с цитированием
Старый 19.03.2011, 19:33   #3
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

Можно подробней пожалуйста. Как сделать такой условие?
Код:
if (timer2.OnTimer < 8000) then begin
Он ругается.

Последний раз редактировалось celovec; 19.03.2011 в 20:05.
celovec вне форума Ответить с цитированием
Старый 19.03.2011, 20:29   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
var
  gtc: integer;

  gtc := GetTickCount();
  Timer1.Enabled := true;
Когда нужно проверить:

Код:
  if (8000 > GetTickCount() - gtc) then
    // еще не прошло 8 секунд
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 19.03.2011, 20:48   #5
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

Это все пишу на button.
Код:
var
  gtc: integer;
begin
  gtc := GetTickCount();
  Timer1.Enabled := true;

 if (8000 > GetTickCount() - gtc) then close;
    // еще не прошло 8 секунд
Но почему то не срабатывает. Ошибок тоже не выдает.
celovec вне форума Ответить с цитированием
Старый 19.03.2011, 20:50   #6
BB2000
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 19
По умолчанию

Встречный вопрос, почему 30000. А если установить к примеру 100...1000 и контролировать процесс?
BB2000 вне форума Ответить с цитированием
Старый 19.03.2011, 21:09   #7
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

BB2000, у меня достаточно много вещей привязано к таймеру который срабатывает через 30 секунд. Что либо трогать в интервале я не хочу.

Намного проще, отслеживать примером veniside.
Но он почему-то не срабатывает.
celovec вне форума Ответить с цитированием
Старый 19.03.2011, 21:13   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

еще один таймер с интервалом 1000 мс))) тупо в лоб))
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 19.03.2011, 21:17   #9
BB2000
Пользователь
 
Регистрация: 03.02.2011
Сообщений: 19
По умолчанию

Ну, а если использовать Tag-и или метки, темболее много вещей, как, вы узнаете в какое время произошло, то или иное событие, от того или иного таймера?
BB2000 вне форума Ответить с цитированием
Старый 19.03.2011, 21:17   #10
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

Mad_Cat, сейчас так и сделал. Но все же хочется довести до ума пример veniside. В чем там может быть проблема?
celovec вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Timer1 Vladnet Общие вопросы Delphi 1 05.04.2009 00:15