Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.08.2008, 22:47
ProperDoze ProperDoze вне форума
Новичок
 
Регистрация: 04.08.2008
Сообщения: 53
Репутация: 10
Лампочка Как клонировать компоненты на форме?

При старте программы читается XML из которого загружается список бинарных файлов (количество этих файлов заранее не известно, но может быть большим )
В этих файлах данные, типа сингл.
Содержимое каждого бинарного файла нужно отобразить на форме в виде графика (компонент TChart)

Все это уже реализовано и работает, остается только одна проблема:
Как создать на форме произвольное количество чартов?

Размещать вручную сотни чартов как-то не хочется.

Подскажите, как можно программно клонировать компонент?
Ответить с цитированием
  #2  
Старый 05.08.2008, 02:01
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
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  
Старый 05.08.2008, 23:29
ProperDoze ProperDoze вне форума
Новичок
 
Регистрация: 04.08.2008
Сообщения: 53
Репутация: 10
По умолчанию

Спасибо большое! Щас буду пробовать))))

Один чарт мне не совсем подходит, т.к. необходимо организовать взаимодействие между ними. (По крайней мере, я пока не знаю как это взаимодействие реализовать в одном чарте)

У меня еще один вопрос: Как обращаться к этим новым чартам? Где описывать события, например ОнКлик и прочее....
Как в режиме реального времени менять графики?

Как создать массив указателей на объекты Делфи и с ним работать?

Последний раз редактировалось ProperDoze, 06.08.2008 в 23:13.
Ответить с цитированием
  #4  
Старый 15.08.2008, 15:58
Аватар для mav_c
mav_c mav_c вне форума
Активный
 
Регистрация: 26.03.2007
Адрес: Москва
Сообщения: 287
Репутация: 30
По умолчанию

Цитата:
Сообщение от ProperDoze
Спасибо большое! Щас буду пробовать))))

Один чарт мне не совсем подходит, т.к. необходимо организовать взаимодействие между ними. (По крайней мере, я пока не знаю как это взаимодействие реализовать в одном чарте)

У меня еще один вопрос: Как обращаться к этим новым чартам? Где описывать события, например ОнКлик и прочее....
Как в режиме реального времени менять графики?

Как создать массив указателей на объекты Делфи и с ним работать?

Код:
AChart.OnClick := ClickOnChart;
__________________
---------------------------------------------
Программирование - не профессия, а стиль жизни
Ответить с цитированием
  #5  
Старый 02.09.2008, 13:27
ProperDoze ProperDoze вне форума
Новичок
 
Регистрация: 04.08.2008
Сообщения: 53
Репутация: 10
Сообщение

Нашел сам:

Нужно создать массив типа 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;

Вот и все

Всем спасибо, кто участвовал в обсуждении и помог своим советом!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter