Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/34: Рейтинг темы: голосов - 34, средняя оценка - 4.82
 Аватар для Knazev33
0 / 0 / 0
Регистрация: 11.05.2009
Сообщений: 24

Пару вопросов про TChart

15.10.2009, 21:05. Показов 6913. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте,
Возник вопрос по поводу названия параметра в TChart(Series), которые отвечает за передвижения
граффика по оси X и оси Y, так как делается при использовании правой кнопки мышки,
хочу привязать передвижение граффика к двум внешним ползункам (TScrollBar ), для оси X и оси Y.
Или это както делается по другому?

Спасибо...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2009, 21:05
Ответы с готовыми решениями:

OLE Automation пару вопросов по Word
Есть у меня парочка вопросов насчет Word. Как можно сделать так, чтобы изменять размер каждого столба в отдельности, знаю только как...

Пара вопросов про Дочерние Окна
1) Как узнать какое из дочерних окон сейчас активно (в смысле на переднем плане под фокусом)? 2) При сворачивание модальных окно они...

Есть пару вопросов по такой вот проге
#define MY_LINKED_LIST #include <iostream> using namespace std; struct node { int data; node *next; ...

3
 Аватар для Knazev33
0 / 0 / 0
Регистрация: 11.05.2009
Сообщений: 24
17.10.2009, 17:24  [ТС]
Что никто незнает как
Тогда может кто нибудь, может дать нормальное описание на руссоком языке, долбаного компанента
TChart(Series), в инете есть только поверхстное описание этого компанентна.
0
0 / 0 / 0
Регистрация: 12.10.2009
Сообщений: 11
19.10.2009, 13:37
ага, информации почти нет. нашла про этот компонент для Delphi (смысл свойств тот же):


Создадим приложение, которое будет выводить круговую диаграмму и графики Sin и Cos:
1. Открыть новое приложение. Поместить на него 2 панели Panel, так чтобы они занимали всю область формы.
Panel1.Align=alTop, Panel2.Align=alButtom, чтобы привязать из к верхней и нижней границам формы соответственно.
Поместить на Panel1 компоненту Chart1 и на Panel2 компоненту Chart2. Задать свойству Align этих компонент значение alClient, чтобы они при изменении размера формы изменяли свои размеры вместе с панелями.
2.ерейти в редактор диаграмм Chart1. На закладке Chart, на закладке Series щелкнуть на кнопке Add – добавить серию. Вы попадаете в окно, в котором можно выбрать тип диаграммы или графика. В данном случае выберем Pie – круговая диаграмма.
Закладка Titles – позволяет задавать заголовок диаграммы (Диаграмма продукции подразделений)
Закладка Legend – позволяет задавать позволяет задавать параметры отображения легенды легенды диаграммы (списка обозначений) или вообще убирать ее с экрана.
Закладка Panel – определяет вид панели, на которой отображается диаграмма.
Закладка 3D – позволяет определить внешний вид диаграммы: сдвиг, наклон, толщину и т.д.
Результат применения различных опций сразу отображается на условном примере.
3.В редакторе диаграмм Chart1, на закладке Series можно выбрать дополнительные характеристики отображения серии.
На закладке Format для круговой диаграммы можно включить опцию Circled Pie, которая обеспечит при любом размере компонента Chart отображение диаграммы в виде круга.
На закладке Marks кнопки группы Style определяют, что будет написано на ярлычках, относящихся к отдельным сегментам диаграммы: Value – значение, Percent – проценты, Label – названия данных и т.д. В приведенном примере включена кнопка Percent, а на закладке General установлен шаблон процентов, обеспечивающий отображение значений с точностью два десятичных знака.
4.сть возможность отображать одни и те же данные с помощью разных типов диаграмм. Для этого в редакторе диаграмм Chart1, на закладке Chart, нажав на закладке Series кнопку Clone, а затем для этой новой серии нажать кнопку Change (изменить) и выбрать другой тип диаграммы, например, Bar. Чтобы эти два разных типа диаграммы не появлялись на одном рисунке одновременно, нужно выключить индикатор этой новой серии на закладке Series, а потом предосватить пользователю выбрать тот или иной вид отображения диаграммы, например с помоью событи onclick для диаграммы (ниже будет показано как это делается).
5.овторить описанные выше действия для задания свойств компонента Chart2: надо задать две серии и выбрать тип диаграммы Line. Для графиков на закладках Axis и Walls можно задать координатные характеристики осей и трехмерных граней графика.
6.Осталось написать код, задающий данные, которые нужно отображать. Для Chart1 зададим в круговой диаграмме некоторые константные данные, а в графиках для Chart2 – функции Sin и Cos. Процедуру загрузки данных можно включить просто в событие OnCreate формы:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
procedure TForm1.FormCreate(Sender: TObject);
const
  A1 = 155;
  A2 = 251;
  A3 = 203;
  A4 = 404;
var
  i: word;
  beginWith Series1 dobegin Clear;
  Add(A1, 'Цех 1', clYellow);
  Add(A2, 'Цех 2', clBlue);
  Add(A3, 'Цех 3', clRed);
  Add(A4, 'Цех 4', clPurple);
end;
Series2.Clear;
Series3.Clear;
for i := 0 to 100 do
begin
  Series2.AddXY(0.02 * Pi * i, sin(0.02 * Pi * i), '', clRed);
  Series3.AddXY(0.02 * Pi * i, cos(0.02 * Pi * i), '', clBlue);
end;
end;
Операторы Clear нужны, если в процессе работы приложения нужно обновлять данные. без этих операторов повторное выполнение методов Add и AddXY только добавит новые точки, не удалив прежние.
Если для данных, отображаемых в диаграмме предусмотрены две серии разных видов Pie и Bar: Series1 и Series4, то в событие onclick диаграммы Chart1 можно ввести процедуру, изменяющую по требованию пользователя тип диаграммы.
Для того, чтобы загрузить данные в Series4 и сделать эту диаграмму в первый момент невидимой, можно вставить в конце приведенной ранее процедуры операторы:
Delphi
1
2
3
4
5
6
7
8
Series4.Assign(Series1);//переписывает данные из Series1 в Series4
Series4.Active:=false;//делает невидимой Series4
Смена типа диаграммы делает процедура:
procedure TForm1.Chart1Click(Sender: TObject);
begin
Series1.Active:= not Series1.Active;
Series4.Active:= not Series4.Active;
end;
Для компонента Chart2 свойства AllowPanning и AllowZoom установлены в true, что позволяет прокручивать наблюдаемую часть графика вовремя выполнения, нажимая правую кнопку мыши, и изменять во время выполнения масштаб изображения, вырезая фрагменты диаграммы или графика курсором мыши.
Компонент Chart также имеет метод Print, обеспечивющий печать. Предварительно может быть выполнен метод PrintPortrait, задающий книжную (вертикальную) ориентацию бумаги, или метод PrintLandscape, задающий альбомную (горизонтальную) ориентацию. Масштабировать размер печатаемого графика можно, вызвав предварительно метод PrintRect:
procedure PrintRect ( Const R : TRect ) ;
в котрором параметр R определяет размер области принтера, в которой осуществляется печать.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
unit
  UChart;
interfaceusesWindows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs, Series, TeEngine, TeeProcs, Chart,
ExtCtrls;
typeTForm1 = class(TForm)Panel1: TPanel;
  Panel2:
  TPanel;
  Chart1: TChart;
  Chart2: TChart;
  Series1:
  TPieSeries;
  Series2: TLineSeries;
  Series3: TLineSeries;
  Series4:
  TBarSeries;
  procedure FormCreate(Sender: TObject);
  procedure
    Chart1Click(Sender: TObject);
private { Private declarations}
public { Public declarations }
end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
procedure
  TForm1.FormCreate(Sender: TObject);
const
  A1 = 155;
  A2 = 251;
  A3 = 203;
  A4 = 404;
var
  i: word;
begin
  with Series1 do
  begin
    Clear;
    Add(A1, 'Цех 1', clYellow);
    Add(A2, 'Цех  2 ', clBlue);
    Add(A3, ' Цех 3 ', clRed);
    Add(A4, ' Цех  4', clPurple);
  end;
  Series4.Assign(Series1);
  Series4.Active := false;
  Series2.Clear;
  Series3.Clear;
  for i := 0 to 100 do
  begin
    Series2.AddXY(0.02 * Pi * i, sin(0.02 * Pi * i), '', clRed);
    Series3.AddXY(0.02 * Pi * i, cos(0.02 * Pi * i), '', clBlue);
  end;
end;
procedure TForm1.Chart1Click(Sender:
  TObject);
begin
  Series1.Active := not Series1.Active;
  Series4.Active := not Series4.Active;
end;
end.
(копировано с сайта http://www.programmers.kz/1058... chart.html)
0
 Аватар для Knazev33
0 / 0 / 0
Регистрация: 11.05.2009
Сообщений: 24
19.10.2009, 21:34  [ТС]
Спасибо Red_puma,
оказалось всё банально просто, ТChart имеет БООЛЬШОЙ косяк, втом что он неможет делать внешний скрол осей,(зато имеет полно лишних функций), что вообще ставит под вопрос применение этого сырого Chart.
И вопрос на последок, может кто знает какой нибудь патч и или плагин для Билдера 6, имеющий компонент по типу чарт, но без косяков...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2009, 21:34
Помогаю со студенческими работами здесь

пару вопросов про vba
всем привет есть задание которые почему то вузе было без ошибок а тут не получается делаю вот такое ...

Пару вопросов про Ethernet
Вот задался я вопросом: что лучше мк с интегрированым мак уровнем и отдельным физическим уровнем или микросхемка на подобии ENC28J60 если...

Можете ответить на пару вопросов про Fraps?
Всем привет. Я нуб и у меня есть несколько вопросов по поводу записи видео с помощью Fraps. 1) На что идет нагрузка при записи видео с...

Пару вопросов про arm,загрузчик и ядро linux
Помогите немного разобрастся в таких вопросах как загрузчик и программирование под сам ARM проц когда там не запущена некакая из ОС. Вобщем...

Пару вопросов
Такой вопрос. Юзаю на сайте движок DLE, на морду поставил ключи, эти ключи ставить на все страницы или на статические страницы свои...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru