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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2014, 09:31   #1
Kornegi
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 12
По умолчанию Динамические данные, график Tchart

Помогите разобраться, пожалуйста.
Получаю данные от датчиков(4канала), они показываются в Edit-ах. Есть таймер и цикл опроса датчика. Теперь Нужно по полученным данным строить графики. Данные решил отображать в Chart.
Никак не могу понять, какой цикл составить, чтобы по каждому новому значению данные отображались на графике для четырех серий
Завязать с Timer1.Interval может как-то? Или данные в массив какой записывать и отображать? Навыков програмирования мало, поэтому
Kornegi вне форума Ответить с цитированием
Старый 09.02.2014, 10:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Показывай как получаешь данные в Эдиты.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.02.2014, 12:06   #3
Kornegi
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 12
По умолчанию

...
Цитата:
for j := 0 to Channel-1 do
begin
Napr[j] := H[j] * (A[j] / Am[j]);
// Данные в Edit
TEdit (FindComponent('Edit'+IntToStr(k))) .Text:=IntToStr(Napr[j]);
Данные вот так отображаются в Edit-ах их 4шт.
Kornegi вне форума Ответить с цитированием
Старый 09.02.2014, 12:20   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Добавляете/создаете в чарте столько серий, сколько каналов. Внутри вашего же цикла series[i].add()
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.02.2014, 12:41   #5
Kornegi
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 12
По умолчанию

Спасибо! Код получился такой:
Цитата:
Chart1.Series[j].Add(Napr[j]);
Подскажите еще пару штуковин, если не затруднит... Через определенное число значений хочется сдвигать график, далее сохранить его в файл по нажатию на кнопку и иметь возможность его открытия. Каждую серию нужно в отдельный файл сохранять или метки может какие существуют? Сохранить лучше в формате dat, я так понимаю? Где лучше почитать о работе с файлами?
Kornegi вне форума Ответить с цитированием
Старый 09.02.2014, 13:04   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Через определенное число значений хочется сдвигать график,
жмакаем HELP по чарту, читаем про bottomaxis.maximum, minimum.

Цитата:
далее сохранить его в файл по нажатию на кнопку и иметь возможность его открытия. Каждую серию нужно в отдельный файл сохранять или метки может какие существуют?
набор данных вы можете сохранять сразу в цикле, либо в отдельные файлы-каналы, либо в общий. Придумайте структуру.

К примеру:
chan1_value0 chan2_value0 chan3_value0 chan4_value0
chan1_value1 chan2_value1 chan3_value1 chan4_value1
chan1_value2 chan2_value2 chan3_value2 chan4_value2
...
chan1_valuen chan2_valuen chan3_valuen chan4_valuen

Цитата:
Сохранить лучше в формате dat, я так понимаю?
такого формата не существует, а расширение вы можете задать любое. Файл для удобства может быть текстовым со структурой выше с расширением DAT, к примеру. Для извращенцев и страдающих шпиономанией - бинарник.

Цитата:
Где лучше почитать о работе с файлами?
MSDN. В вашем случае начать со штудирования примеров из сборника Delphi-World.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.02.2014, 13:52   #7
Kornegi
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 12
По умолчанию

Благодарю за развернутый и понятный ответ =)
Kornegi вне форума Ответить с цитированием
Старый 09.02.2014, 15:04   #8
Kornegi
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 12
По умолчанию

Может немного тороплюсь, но... пока скачивается DelphiWord.
Возникла такая мысль.
Series Сhart-а есть контейнеры данных, может быть есть какой-нибудь метод сохранения этих данных из Series в файл/загрузки в Series из файла?
Kornegi вне форума Ответить с цитированием
Старый 09.02.2014, 15:17   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...в IDE набираете Series1, ставите точку, появляется список свойств и методов, просматриваете, если есть - ваше счастье. Насколько помню, сохранение метафайла есть у общего предка чарт.

Однако важное замечание, все с этим сталкиваются: не вздумайте пихать все "миллион" данных в компонент в рантайме, он конечно хоть и контейнер, но память будет отжираться и отжираться. Читать темы:

http://programmersforum.ru/showthread.php?t=213785 (c поста 9)
http://programmersforum.ru/showthread.php?t=245066 (с начала и до конца)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 14.02.2014, 04:56   #10
Kornegi
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 12
По умолчанию

Данные вывел в Edit, дублирую все в Memo, с сохранением/загрузкой тут нет проблем (файл .txt). Отображаю данные на Chart1.Series[i] для каждого канала. Нужно сохранять и загружать именно график Chart1.
Нашел информацию:
Но при реализации в моем проекте возникает ошибка: "raised exception class eclassnotfound with message 'Class TFastLineSeries not found' "
Следовательно его нужно создать, но и это не помогает((
Цитата:
var tmpFastLineSeries: TFastLineSeries;
begin
tmpFastLineSeries:=TFastLineSeries. Create(Self);
Chart1.AddSeries(TFastLineSeries);
Помогите, пожалуйста, с реализацией сохранения/загрузки Chart.Series[i] данных из текстового файла, либо примерами или исходным кодом рабочего сохранения/загрузки для TeeChart.
Kornegi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
График по точкам (Tchart) Qlimax Общие вопросы Delphi 0 23.05.2012 22:51
график в TChart Funy Помощь студентам 1 16.05.2012 16:50
Не строится график TChart sergey_dmitrievich C++ Builder 1 27.09.2011 08:40
график TChart в MS Word natasha Компоненты Delphi 7 25.06.2007 14:25