Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Программирование -> C++ Builder -> Работа с графиками и диаграммами (TChart, Series)


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

Поговорим о рисовании графиков с помощью 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 более подробно, то сможете: удалять последние веденные значения, убирать добавлять сетку, менять цвета линий, менять толщину линий и так далее.

Автор:
Источник: devoid.com.ua

Ссылки по теме
BuilderX - новая среда разработки от Borland
Создание Web-приложений с помощью C++Builder 5
Использование COM-технологии в C++ Builder
FAQ конференции RU.CBUILDER по C++ Builder
FAQ по C++ Builder
 

Компьютерная документация от А до Я - Главная

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100