Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
popal
0 / 0 / 2
Регистрация: 28.10.2015
Сообщений: 36
1

Вывод на график в режиме текущего времени температуры

29.02.2016, 16:54. Просмотров 489. Ответов 4
Метки нет (Все метки)

Нужно мне температуру на график вывести. Таймер выдает с перерывом в 1 секунду. Var - наша температура .
C++
1
2
3
4
5
6
7
8
9
Timer1->Interval=1000;
        int Var;
    double x;
    double dx;
dx=0.5;
x+= dx;
    Series1->AddXY(x,Var,"", clRed);
    Chart1->Refresh();
        return;
Температуру выводит,только вот график с места не двигается(все выглядит как одна странная полоска на значении 0.5 , где только уровни меняются в зависимости от изменения температуры) , а надо чтобы он продолжался и было видно как температура меняется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.02.2016, 16:54
Ответы с готовыми решениями:

Вычистить миллисекунды из текущего времени
Добрый день! Есть значение миллисекунд (к примеру равно 2000), есть текущее...

Сравнение части текста элемент ListBox и текущего времени
Здравствуйте. По лабораторной задание: создать программу напоминалку (ListBox...

Создать окно (форму) с отображением текущего времени без использования таймера
Тут вот наткнулся на такую задачку. Создать окно (форму) с отображением...

Вывод названия текущего месяца
void __fastcall TForm1::Button4Click(TObject *Sender) {...

Вывод минимального значения температуры за выбранный месяц
Вот это уже есть, помогите доделать A). Сформировать файл meteo.txt, в котором...

4
nick42
Практикантроп
4282 / 2300 / 399
Регистрация: 23.09.2011
Сообщений: 4,918
29.02.2016, 18:05 2
Посмотрите на этот пример (в архиве) - он очень простой; вместо реальной температуры каждую секунду генерируется случайная величина в диапазоне 18-22 град, которая добавляется к графику. Через 4 минуты, когда значение секунд достигнет значения 240, горизонтальная ось начинает смещаться, чтобы текущее значение температуры было постоянно в поле зрения.
0
Вложения
Тип файла: rar 84.RAR (222.2 Кб, 15 просмотров)
Почтальон
Модератор
694 / 572 / 118
Регистрация: 22.03.2015
Сообщений: 3,916
Завершенные тесты: 2
01.03.2016, 10:55 3
Цитата Сообщение от popal Посмотреть сообщение
Температуру выводит,только вот график с места не двигается(все выглядит как одна странная полоска на значении 0.5 , где только уровни меняются в зависимости от изменения температуры) , а надо чтобы он продолжался и было видно как температура меняется
Прописывайте формирование графика в обработчике таймера, и будет вам счастье
0
popal
0 / 0 / 2
Регистрация: 28.10.2015
Сообщений: 36
02.03.2016, 16:35  [ТС] 4
nick42, график в таймере прописываю .
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm3::Timer1Timer(TObject *Sender)
{
Timer1->Interval=1000;
Memo1->Clear();
Memo2->Clear();
Series1->Add(T  ,"",clRed);
 if(Chart1->Series[1]->LastValueIndex > 240) {
 Chart1->BottomAxis->Minimum = Chart1->BottomAxis->Minimum + 1;
       Chart1->BottomAxis->Maximum += 1;
}
 
 Caption = String().sprintf(L"First 16 bytes: "
      "%.2X %.2X %.2X %.2X %.2X %.2X %.2X %.2X ",
      InBuffer[0],InBuffer[1],InBuffer[2],InBuffer[3],InBuffer[4],InBuffer[5],InBuffer[6],InBuffer[7], InBuffer[8]);
    }
значения действительно идут . Но он действует скорее как зум, а не как смещение по горизонтальной оси. Так как графике осьX от о до n, n значение постоянно увеличивается и картиночка становится все загруженней.
Какой компонент Chart отвечает за 0? Как называется это значение? Ведь не Chart1->BottomAxis->Minimum. Так бы я могла поставить условие, что когда разница между Xmaх и Xmin становится равной 10, то Xmin вырастает на 1 и получается,что график не загружается
0
nick42
Практикантроп
4282 / 2300 / 399
Регистрация: 23.09.2011
Сообщений: 4,918
02.03.2016, 17:12 5
Я подозреваю, что вы к разным графикам в таймере обращаетесь. Series1 и Chart1->Series[1] - это, скорее всего, не одно и то же. Индекс должен быть 0.
0
02.03.2016, 17:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2016, 17:12

Вывод данных(температуры) по USB-RS485 Converter Cables и чипом FT232R
Программа по USB-RS485 Converter Cables получает данные - 16 бит на...

График функции в реальном времени
Помогите составить программу на с++ builder. Нужно построить график sin(x) в...

График зависимости температуры от текущего времени, QChart
Добрый день. Хочу построить график зависимости температуры от текущего времени....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru