Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как сделать "бегущий" график в TeeChart?

590
16 июля 2007 года
Gigahard
223 / / 03.04.2006
Нужно сделать бегущий график, чтобы на экране отображалась информация только в заданном интервале. При этом нужно сделать так, чтобы старая информация которая "уползла" за границы графика не накапливалась бы, а удалялась.

В примерах TeeChart есть решение более менее подходящее под проблему, но как мне кажется не совсем то...

 
Код:
if(Chart1->Series[0]->Count()>20)
Chart1->Series[0]->Delete(0); // <-- remove the first point
// Add a new random point
Chart1->Series[0]->AddXY(Chart1->Series[0]->XValues->Last()+1,Chart1->Series[0]->YValues->Last()+(random(ChartSamplesMax)-(ChartSamplesMax/2)),"",clTeeColor);


В данном примере, в случае, если длинна графика превышает 20 точек, сначала удаляется начальная точка, а потом добавляется новая.
Казалось бы то что нужно, но в данном случае происходит постоянное увеличение значения Х при вызове AddXY, что ИМХО не есть хорошо. Т.к. неизвестно, до каких пределов может изменятся это значение и что произойдет при переполнении.

Была идея вместо AddXY использовать функцию AddY. Но в таком случае при удалении точки в начале графика, начинают не корректно добавляться точки в конец.
Собственно какие варианты создания бегущего графика, который будет отображать данные без остановки довольно продолжительное время?
92
16 июля 2007 года
Тень Пса
2.2K / / 19.10.2006
например покопаться в директории
%CBuilder6_Installation_path%\Examples\Teechart\

там были примеры бегущего чарта, если память не изменяет....
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог