Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Вниз

Как окрасить TChartSeries?   Найти похожие ветки 

 
Углук ©   (2007-03-30 20:13) [0]

В 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
Как правильно закрасить все значения в белый цвет?


 
Kolan ©   (2007-03-31 22:39) [1]

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

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


 
Kolan ©   (2007-03-31 22:40) [2]

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


 
Kolan ©   (2007-03-31 22:45) [3]

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


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

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


 
Kolan ©   (2007-03-31 22:50) [5]

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

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

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


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

Там есть TChartSeries


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

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


 
Kolan ©   (2007-04-02 15:18) [8]

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

покажи код как пытался&#133


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

Вот код:
 
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;


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

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


 
Kolan ©   (2007-04-02 19:40) [11]

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

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

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


 
Kolan ©   (2007-04-02 19:43) [12]

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

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


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

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


 
Kolan ©   (2007-04-03 07:41) [14]

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

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


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


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

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

Теперь.
Пишу

fChannelA: TLineSeries;

Error: Undeclared identifier "TLineSeries"


 
Kolan ©   (2007-04-03 18:34) [16]

> Error: Undeclared identifier "TLineSeries"

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


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

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


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

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

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


 
Углук ©   (2007-04-03 19:03) [18]

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


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

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

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


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


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

begin
...

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


 
Kolan ©   (2007-04-03 20:12) [21]

Так. Тут показана что они передаются. Те они уже созданы ВНЕ create.
Так кто же их создает? В дизан тайме они создаются? Тогда это НЕ TChartSeries так как в дизанере нет таких.


 
Kolan ©   (2007-04-03 20:14) [22]

> Error: Undeclared identifier "TLineSeries"

Series где?


 
Углук ©   (2007-04-03 20:18) [23]

Нашел:)
В объявлении формы
 ChannelB: TLineSeries;
 ChannelA: TLineSeries;


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

Я ацки туп :)


 
Kolan ©   (2007-04-03 20:21) [25]

> ChannelB: TLineSeries;
> ChannelA: TLineSeries;


Ну вот с этим разобрались.

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


А точно на fChannelA.SeriesColor:=clWhite; попадает? Проверял отладчиком?


 
Углук ©   (2007-04-03 20:23) [26]

Да, попадает, проверил.


 
Kolan ©   (2007-04-03 20:23) [27]

Хочешь пришло проект я отлажу. Только у меня нет никаких сторонних компонентов и ставить их я не хочу.  :)


 
Kolan ©   (2007-04-03 20:24) [28]

> пришло

пришли


 
Углук ©   (2007-04-03 20:25) [29]

К сожалению, там до черта сторонних компонент :) Так что скорее всего я выкину чарт и буду рисовать на канвасе. Спасибо за труд!


 
Kolan ©   (2007-04-03 20:25) [30]

> Да, попадает, проверил.

Может быть ты еще гдето цвет меняешь? Может fChannelA невидна, а видна только ChannelB — вариантов масса. И на 99.999% виноват ты а не чарт.


 
Углук ©   (2007-04-03 20:28) [31]


> Может быть ты еще гдето цвет меняешь

Уже в момент прихода отладчиком на строку

 fChannelA.SeriesColor:=clWhite;


Поле   fChannelA.SeriesColor содержит $FFFF, так что это скорее всего тот самый  0,001%


 
Kolan ©   (2007-04-03 20:32) [32]

> Да, попадает, проверил.

И цвет не меняется? А попробуй другое свойство.
Обяви
FChannelA       : TChartSeries; //
FChannelB       : TChartSeries; //
TLineSeries (незабудь добавить Series в uses)

И включай свойство :
Stairs
Например.


 
Kolan ©   (2007-04-03 20:37) [33]

> fChannelA.SeriesColor содержит $FFFF

А если окно задвинуть за край экрана и назад вернуть(перерисовать короче) ?


 
Углук ©   (2007-04-03 20:41) [34]

Ура!
Сработало       fChannelA.AddXY((i div 2)-1,-DBMean,"",clWhite);

Спасибо!


 
Kolan ©   (2007-04-04 21:34) [35]

>  fChannelA.AddXY((i div 2)-1,-DBMean,"",clWhite);

Так чтож теперь если цвет надо поменять будешь все заново рисоват? — :(


 
Углук ©   (2007-04-13 18:26) [36]

Задача не требует смены цвета


 
Kolan ©   (2007-04-13 21:55) [37]

> Задача не требует смены цвета


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

А чего же она требует???


 
_Аноним   (2007-04-16 18:45) [38]

Тоже столкнулся приблизительно с этим же геморроем.
Ваш вариант не прокатил, но тем не менее проблема после решения ветки разрешилась.

> Kolan ©  

Спасибо :-)


 
Kolan ©   (2007-04-16 18:49) [39]

> Спасибо :-)

Да всегда пожалуйста&#133


 
ewpsg   (2007-05-19 10:10) [40]

<a href=  ></a>   [url=][/url]



Страницы: 1 2 вся ветка

Форум: "Основная";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.042 c
15-1183027152
Ega23
2007-06-28 14:39
2007.07.29
Class vs Record


2-1183538670
\/iKTOR
2007-07-04 12:44
2007.07.29
Прога работы с вероятностными выпадениями чисел (0 и 1)


2-1183302624
midnight_gambler
2007-07-01 19:10
2007.07.29
Мультиязычное приложение


15-1183108237
Skyle
2007-06-29 13:10
2007.07.29
DataSnap(Midas) и Turbo Delphi for Win32 Pro. Возможно ли?


2-1183578350
Познающий
2007-07-04 23:45
2007.07.29
CreateProcessEx





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский