![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как окрасить TChartSeries?
Углук © (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]> Как правильно закрасить все значения в белый цвет?
А какого типа серия?