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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2010, 16:01   #1
Бриит
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 12
По умолчанию Timer 3 таймера

Код:
procedure TForm5.Timer1Timer(Sender: TObject);  
begin
i:=i+1;
        case i  of
          1:
              Begin
              timer1.interval := 11000
              End;
          2:
              Begin
              timer1.interval := 3600000
              End;
          3:
              Begin
              Timer1.Enabled:=False;
              End;
end;
end;

procedure TForm5.Timer2Timer(Sender: TObject);
begin
i:=i+1;

            case i  of
              1:
                 Begin
                 timer2.interval := 10000;
                 End;
              2:
                 Begin
                 timer2.interval := 600000
                 End;
              3:
                 Begin
                 Timer2.Enabled:=False;
                 End;
end;
end;

procedure TForm5.Timer3Timer(Sender: TObject);
var k:Integer;
begin
k:=0;
k:=k+1;
case k  of
1: begin
    if (( Timer2.Enabled = False)and ( Timer1.Enabled = False)) then   Form5.UTim();
  end;
2:Begin
  k:=0;
End;
  end;
end;

procedure TForm5.UTim();
Begin
ind:=ind+1;
  if ind = ListBox1.Items.Count then
        Begin
          Memo1.Lines.Add('Таймеры отключены');
          Timer2.Enabled:=False;
          Timer1.Enabled:=False;
          Timer3.Enabled:=False;

        End
  else
        begin
                // Проверка 
        if ( ListBox1.Items.Strings[ind] = '1') then
                begin
                i:=0;
                Timer1.Enabled:=True;
                end;
                // Проверка 
        if ( ListBox1.Items.Strings[ind] = '2') then
                begin
                i:=0;
                Timer2.Enabled:=True;
                end;

        end;

End;
Ребят кто может подскажите почему таймеры отказываются работать если задать время более 5 мин происходит какойто глюк

вся суть 3 таймера, запускается 3й он работает постоянно, остальные запускает по условию.

1 и 2 таймер больше 1го раза не запускаются
if ( ListBox1.Items.Strings[ind] = '2') then
begin
i:=0;
Timer2.Enabled:=True;
end;
условие как то не срабатывает
Бриит вне форума Ответить с цитированием
Старый 08.11.2010, 21:20   #2
Dimasw
Пользователь
 
Регистрация: 12.09.2010
Сообщений: 69
По умолчанию

все таймеры сразу включены? (при запуске приложения)
SELECT BEST FROM LIFE
Dimasw вне форума Ответить с цитированием
Старый 08.11.2010, 23:50   #3
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

для начала не понятно зачем проверка второго условия здесь
k:=0;
k:=k+1;
case k of
1: begin
if (( Timer2.Enabled = False)and ( Timer1.Enabled = False)) then Form5.UTim();
end;
2:Begin
k:=0;
End;

т.к. К всегда будет 1, в любом случае
и во вторых - если i у тебя глобальная, а скорее всего так и есть, для второго таймера введи другую переменную... а вообще лучше напиши что именно делаешь, а то непонятны немного цели
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 09.11.2010, 10:21   #4
Бриит
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Zer0 Посмотреть сообщение
для начала не понятно зачем проверка второго условия здесь
k:=0;
k:=k+1;
case k of
1: begin
if (( Timer2.Enabled = False)and ( Timer1.Enabled = False)) then Form5.UTim();
end;
2:Begin
k:=0;
End;

т.к. К всегда будет 1, в любом случае
и во вторых - если i у тебя глобальная, а скорее всего так и есть, для второго таймера введи другую переменную... а вообще лучше напиши что именно делаешь, а то непонятны немного цели
я с тобой согласен это полный тупняк можно переделать его гораздо проще.
Сразу включается тока 3й таймер остальные должны включатся по очереди.
а пишу бота для браузерных игрушек
Бриит вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прерывания таймера. Kingdom_Reborn Помощь студентам 0 07.11.2010 22:58
отсрочка таймера Lifefine Общие вопросы Delphi 4 15.01.2010 03:39
Настройка таймера в Delphi The riddle Помощь студентам 6 06.12.2009 13:31
Интервал Таймера... Roof Общие вопросы Delphi 27 08.07.2008 20:19
использование таймера KancJler Помощь студентам 13 19.04.2008 01:13