(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
Advanced Data Export VCL Suite (with sources) + 1 Year Maintenance
SmartBear LoadComplete - Node-Locked License Subscription w/ 250 Virtual Users (includes 1 year of Maintenance)
Microsoft Office для дома и учебы 2019 (лицензия ESD)
IBM DOMINO COLLABORATION EXPRESS AUTHORIZED USER LICENSE + SW SUBSCRIPTION & SUPPORT 12 MONTHS
erwin Data Modeler Navigator Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Реестр Windows. Секреты работы на компьютере
СУБД Oracle "с нуля"
Новости мира 3D-ускорителей
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100