Вопрос по Ttimer

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем starbreaker, 4 фев 2009.

Статус темы:
Закрыта.
  1. starbreaker

    starbreaker Гость

    Здравствуйте! Есть следующая задача (в общих чертах): строиться график некоторой функции, зависящей от времени, причем отображение производится по мере вычисления новых значений, то есть пользователь видит как график непосредственно рисуется по точкам. Причем вычисления могут идти, в принципе, бесконечно, пока пользователь не остановит вычисления. Я реализовал это с помощью TTimer следующим образом: с каждым срабатыванием таймера вычисляется новое значение функции, где аргумент времени находится в прямой зависимости от интервала таймера: t += t + Timer1->Interval, затем значение рисуется на экране; а при нажатии пользователем соответствующей кнопки устанавливается Timer1->Enabled = false и вычисления останавливаются.
    Оно вроде всё неплохо работает, но при том что сама функция весьма сложная, возникает следующий вопрос: что будет, если интервал срабатывания таймера меньше, чем то время, за которое вычисляется значение функции? То есть таймер сработал, началось вычисление, прошел заданный интервал времени, но значения функции ещё не вычислились, а уже должно выполниться следующее срабатывание таймера. Как в таком случае быть?
     
  2. etc

    etc Гость

    Ничего не будет, никак не быть.
     
  3. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Я вообще программист на делфи, но посоветовал бы тебе при входе в обработчик онТаймер сделать что-то вроде:
    Timer1.Enabled=false; а в конце кода дописать Timer1.Enabled=flag;
    Ну соответственно обработчик для кнопки поставить
    flag=not flag.
    if (flag) {timer1.enabled=true; }
    З.Ы. Не будет работать только в том случае, если вычисления долгие, а пользователь быстро нажмет на кнопку два раза. Ну это легко исправить - ввести еще одну булевскую переменную и чуть подредактировать код. Надеюсь, идею понял, сам додумаешь, а то лень проверять... :)
     
  4. etc

    etc Гость

    Это все ненадо.
     
Загрузка...
Похожие Темы - Вопрос по Ttimer
  1. ApplePen
    Ответов:
    0
    Просмотров:
    55
  2. gURaBA_N
    Ответов:
    3
    Просмотров:
    91
  3. kartaman
    Ответов:
    0
    Просмотров:
    126
  4. Peter
    Ответов:
    4
    Просмотров:
    519
  5. di0d_
    Ответов:
    1
    Просмотров:
    433
Статус темы:
Закрыта.

Поделиться этой страницей