![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
При старте программы читается XML из которого загружается список бинарных файлов (количество этих файлов заранее не известно, но может быть большим
)В этих файлах данные, типа сингл. Содержимое каждого бинарного файла нужно отобразить на форме в виде графика (компонент TChart) Все это уже реализовано и работает, остается только одна проблема: Как создать на форме произвольное количество чартов? Размещать вручную сотни чартов как-то не хочется. Подскажите, как можно программно клонировать компонент? |
|
#2
|
|||
|
|||
|
Код:
var
I : Integer;
AChart : TChart;
begin
For I := 0 To MyDataList.Count-1 Do
Begin
AChart := TChart.Create(Self);
AChart.Parent := Self;
AChart.Top := ...
AChart.Left := ...
...
End;А вообще-то Chart нужен один, а вот серий с данными в нем можно сделать много... |
|
#3
|
|||
|
|||
|
Спасибо большое! Щас буду пробовать))))
Один чарт мне не совсем подходит, т.к. необходимо организовать взаимодействие между ними. (По крайней мере, я пока не знаю как это взаимодействие реализовать в одном чарте) У меня еще один вопрос: Как обращаться к этим новым чартам? Где описывать события, например ОнКлик и прочее.... Как в режиме реального времени менять графики? Как создать массив указателей на объекты Делфи и с ним работать? Последний раз редактировалось ProperDoze, 06.08.2008 в 23:13. |
|
#4
|
||||
|
||||
|
Цитата:
Код:
AChart.OnClick := ClickOnChart; |
|
#5
|
|||
|
|||
|
Нашел сам:
Нужно создать массив типа TList: Код:
var mas: TList; ... mas := TList.Craete; Мотом добавить в него указатели на объекты: Код:
mas.Add(Chart); // Chart - типа TChart Обращаться к методам и свойствам так: Код:
TChart(mass.Items[n]).<метод>; В конце программы надо удалить все объекты и очистить массив: Код:
TChart(mas.Items[n]).Free;
mas.Remove(mas.Items[n]);
mas.free;Вот и все Всем спасибо, кто участвовал в обсуждении и помог своим советом! |