(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Работа с графиками и диаграммами (TChart, Series) (исходники)

Источник: Realcoding

Сегодня мы поговорим о рисовании графиков с помощью C++Builder. Эту тему я решил затронуть потому, что на днях пришлось быстро написать программу для того же самого рисования графиков, и я подумал что, наверное, не одному мне это пригодится.

Итак, меньше слов - больше дела, начнем:
Для работы с графиками и диаграммами в C++Builder существует компонент TChart (вкладка Additional), вот его мы и положим на форму. Далее если нажать на Chart1 правой кнопкой мыши, и выбрать Edit Chart… , то Вы увидите окно настроек графика, стоит заметить, что график можно настраивать и изменять параметры и в ходе выполнения программы, тоесть его настройка на ограничивается одним окошком. Первая закладка окна настройки называется Series, нажмите Add(Добавить), и откроется окно выбора: можете добавить разные линии столбцы и тому подобные вещи. Давайте выберем линию (на странице выбора - Line), вы сразу увидите, что наш Chart1 заполнила линия, значения выбираются случайные, но нажмите F9 - и вы ее не увидите! Дальше сделаем так, что бы мы смогли увидеть нашу линию в процессе работы программы.
Давайте положим на форму кнопку (Button) и напишем для нее такой обработчик события:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Series1->Add(13,22,clRed);
}

Теперь попробуйте откомпилировать программу(F9) и нажать кнопку(Button) - вы увидите нашу линию!
Но тут есть один очень важный момент, в обработчике события мы работали уже не с Chart1, а с Series1, это очень важно.
Замечу, если линий будет больше чем одна, тоесть Вы создадите Series2, Series3, то и работать в коде вы будете тоже с ними.
Давайте усложним немного нашу программу и сделаем ее динамичней.
На форму добавляем два компонента TEdit - в них мы будем вводить значения по оси Y и Х. Для кнопки изменяем обработчик события на такой:

 

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(Edit1->Text == "")
{
	ShowMessage("Вы не ввели значение Y !");
	return ;
}
if(Edit2->Text == "")
{
	ShowMessage("Вы не ввели значение  X !");
	return ;
}
int y;
int x;
y = Edit1->Text.ToInt();
x = Edit2->Text.ToInt();
Series1->Add(y,x,clBlue);
Edit1->Text = "";
Edit2->Text = "";
}

Теперь подробно разберем написанное: Сначала мы описали проверки, ввел ли пользователь хоть какие-то данные Х и Y.

 

if(Edit1->Text == "")
{
	ShowMessage("Вы не ввели значение Y !");
	return ;
}
if(Edit2->Text == "")
{
	ShowMessage("Вы не ввели значение  X !");
	return ;
}

Далее мы указали две переменных х и y.
Но тут есть один важный момент, просто присвоить х = Edit1->Text , нельзя.
Надо конвертировать AnsiString в Int32:
y = Edit1->Text.ToInt();
x = Edit2->Text.ToInt();
Тоесть мы представляем текст Едита, как число.
А дальше все похоже на наш первый пример: Series1->Add(13,22,clRed);
Только вместо готовых чисел, мы добавляем х и у которые пишем в Едиты. Откомпилируйте программу и увидите, как прорисовывается линия по ходу добавления туда значений.
Если разберетесь в TChart более подробно, то сможете: удалять последние веденные значения, убирать добавлять сетку, менять цвета линий, менять толщину линий и так далее.



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 28.02.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft 365 Apps for business (corporate)
ABBYY Lingvo x6 Английская Домашняя версия, электронный ключ
ABBYY Lingvo x6 Европейская Профессиональная версия, электронный ключ
Rational ClearQuest Floating User License
SmartBear QAComplete Concurrent User Subscription License - On Premise (1 Year Subscription)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
СУБД Oracle "с нуля"
Компьютерные книги. Рецензии и отзывы
Мир OLAP и Business Intelligence: новости, статьи, обзоры
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100