Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как окрасить TChartSeries?


Страницы:   1 2

Углук ©   (2007-03-30 20:13:00) 

В Runtime добавляю к TChartSeries значения:
Такой вариант работает:


       fChannelA.AddXY((i div 2)-1,-DBMean);
        fChannelA.ValueColor[(i div 2)-1]:=ClWhite;


Но затем мне понадобилось добавлять не все  подряд значения:


if (-DbMean>-DbMeanext) then begin
       inc(n);
       fChannelA.AddXY((i div 2)-1,-DBMean);
        fChannelA.ValueColor[n]:=ClWhite;
      end;

Такой вариант не работает, т.е. линии значений
окрашиваются в произвольные цвета ( такой же эффект возникает, если ничeго не присваивать          fChannelA.ValueColor
Как правильно закрасить все значения в белый цвет?


Углук   (2007-04-03 20:08:00) [21]


constructor TOscilloscope. create(Chart          : TChart;
                           ChannelA       : TChartSeries; êàíàëà À îñöèëëîãðàôà
                           ChannelB       : TChartSeries;....

begin
...

   FChannelA:=ChannelA;
   FChannelB:=ChannelB;
...
end;


Kolan   (2007-04-03 19:11:00) [22]

> FChannelA       : TChartSeries; //
> FChannelB       : TChartSeries; //

А это как создается?


Углук   (2007-04-03 19:03:00) [23]

То есть полем этого класса является Chart, который потом создается в designtime  и в конструкторе Create полю fChart, и серии которого присваиваются fChannelA и fChannelB


Углук   (2007-04-03 19:01:00) [24]

Модули:
sysutils,math,graphics,dialogs,windows,classes,
TeeProcs, TeEngine, Chart,JPEG

Объъявлено в секции public класса TOsc
FChart          : TChart; // Chart  
FChannelA       : TChartSeries; //
FChannelB       : TChartSeries; //


Kolan   (2007-04-03 18:34:00) [25]

> Error: Undeclared identifier 'TLineSeries'

Какие моду ли подключил? Какой версией Delphi пользуешься?


> успешно рисует на TChartSeries.

Покажи как объявлено и как создается?


Углук   (2007-04-03 18:25:00) [26]


> TChartSeries — это общий предок для серий. На нем рисовать
> нельзя

Чего-то не понимаем мы оба :) потому что программа весьма успешно рисует на TChartSeries.

Теперь.
Пишу

fChannelA: TLineSeries;

Error: Undeclared identifier 'TLineSeries'


Kolan   (2007-04-03 07:41:00) [27]

> Да. А если делать как  в [1] , тогда меняется

Наверно не в [1], а в [11].
Итого что-то ты в другом месте напортачил:
1. Может ты вообще не у той серии цвет меняешь.
2. Пост [6] говорит о том что ты чегото не понимаешь. TChartSeries— это общий предок для серий. На нем рисовать нельзя.
Создавай TLineSeries.


Углук   (2007-04-02 22:47:00) [28]

Да. А если делать как  в [1] , тогда меняется


Kolan   (2007-04-02 19:43:00) [29]

> вернее ничего не было:(

Те цвет не меняется?


Kolan   (2007-04-02 19:40:00) [30]

Создай пустой прокт, создай 1 серию, на кнопку(например) повесь
Serie1.SeriesColor:=clWhite

Заполни серию числами (случайными).

Лично у меня работает(проверил). Так что скорре всего дело в другом коде…


Углук   (2007-04-02 19:09:00) [31]

Если писАл
fChannelA.SeriesColor:=clWhite
перед циклом, то было то же самое (вернее ничего не было:( )


Углук   (2007-04-02 19:07:00) [32]

Вот код:
 
for I := 1 to 8191 do
   begin
   n:=0;
    if (i mod 2=0 )then
    begin
      if Abs(F[I-1])>0 then

      DBmean:=-20*log10(Abs(F[I-1])/StrToFloatDef(OscForm.edtRefVolt.Text,1) )
      DBmeanext:=-20*log10(Abs(F[I])/StrToFloatDef(OscForm.edtRefVolt.Text,1) )

  if -DBMean>-DBMeanext then
     begin
      inc(n);
      fChannelA.SeriesColor:=clWhite;
      fChannelA.AddXY(n,-DBMean);
    end;
end;


Kolan   (2007-04-02 15:18:00) [33]

> К сожалению, [3] не помогло

покажи код как пытался…


Углук   (2007-04-02 14:18:00) [34]

К сожалению, [3] не помогло


Углук   (2007-04-02 14:13:00) [35]

Там есть TChartSeries


Kolan   (2007-03-31 22:50:00) [36]

> простого двумерного графика

Нет такого, есть TLineSerie, TFastLineSerie, TBarSerie и т.д.

Так [3]не помогло?


Углук   (2007-03-31 22:49:00) [37]

Серия типа простого двумерного графика


Kolan   (2007-03-31 22:45:00) [38]

А название не увидел. Я их не когда не перекрашивал…
но  думаю
FSerie.SeriesColor := Color;
прокатит :)


Kolan   (2007-03-31 22:40:00) [39]

Так а чего нужно добится в результате? Разноцветных серий?


Kolan   (2007-03-31 22:39:00) [40]

> Как правильно закрасить все значения в белый цвет?

А какого типа серия?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо