![]() |
Delphi-Version: XE
Zur Designetime erzeugte TeeChart.Series per Name ansprechen
Hallo zusammen,
ich erzeuge per
Delphi-Quellcode:
eine TLineSeries.
lsSeries := TLineSeries.Create(nil);
lsSeries.Name := 'lsAverage'; lsSeries.Title := 'Average'; lsSeries.Marks.Visible := False; lsSeries.ValueFormat := '0.#'; lsSeries.LinePen.Width := 1; lsSeries.XValues.DateTime := False; lsSeries.XValues.Order := loAscending; lsSeries.YValues.Order := loNone; lsSeries.SeriesColor := clBlue; lsSeries.Pointer.Visible := False; Chart1.AddSeries(lsSeries); Wie kann ich die nun später im Code über den Namen lsAverage ansprechen um z.B. Daten zu laden (und nicht über den Index
Delphi-Quellcode:
)
Chart1.Series[1].AddXY(Xvalue, Yvalue);
Danke Gerd |
AW: Zur Designetime erzeugte TeeChart.Series per Name ansprechen
Zitat:
Delphi-Quellcode:
Ich weis nicht, ob Chart1.AddSeries den Owner des übergebenen Objektes setzt, wenn er Nil ist, und wenn ja, was als Owner verwendet wird. Sieh mal im Sourcecode nach.
lSeries := Chart1.Series.FindComponent('lsAverage') as TLineSeries;
|
AW: Zur Designetime erzeugte TeeChart.Series per Name ansprechen
Zitat:
Suche über Chart1.FindComponent oder Chart1.SeriesGroup.FindComponent gibt nil zurück |
AW: Zur Designetime erzeugte TeeChart.Series per Name ansprechen
Zitat:
Du erzeugst in deinem Kode doch die TLineSeries direkt. Gib doch einfach anstelle von nil Chart1 als Owner an den Constructor. dann sollte Chart1.FindCOmponent funktionieren. |
AW: Zur Designetime erzeugte TeeChart.Series per Name ansprechen
Liste der Anhänge anzeigen (Anzahl: 1)
// so funktioniert es:
Delphi-Quellcode:
mfG newIndy
procedure TMainForm.Button1Click(Sender: TObject);
var Kurve:TBitmap; Chart1:TChart; lsSeries:TLineSeries; begin try Chart1 := TChart.Create(Self); lsSeries := TLineSeries.Create(Chart1); lsSeries.BeginUpdate; lsSeries.Name := 'lsAverage'; lsSeries.Title := 'Average'; lsSeries.Marks.Visible := False; lsSeries.ValueFormat := '0.#'; lsSeries.LinePen.Width := 1; lsSeries.XValues.DateTime := False; lsSeries.XValues.Order := loAscending; lsSeries.YValues.Order := loNone; lsSeries.SeriesColor := clBlue; lsSeries.Pointer.Visible := False; lsSeries.ParentChart := Chart1; // ! lsSeries.FillSampleValues(100); lsSeries.EndUpdate; Kurve := Chart1.TeeCreateBitmap(clWhite, Image1.ClientRect, pf24bit); Image1.Canvas.Draw(0,0, Kurve); finally Kurve.Free; lsSeries.Free; Chart1.Free; end; end; |
AW: Zur Designetime erzeugte TeeChart.Series per Name ansprechen
Delphi-Quellcode:
for i := 0 to 30 do if (lsSeries as TLineSeries).Name = 'lsAverage' then (lsSeries as TLineSeries).Add(Random); //lsSeries.FillSampleValues(100); for i := 0 to 30 do if (Chart1.FindComponent('lsAverage') as TLineSeries).Name = 'lsAverage' then (Chart1.FindComponent('lsAverage') as TLineSeries).Add(Random); |
AW: Zur Designetime erzeugte TeeChart.Series per Name ansprechen
Wenn du beim Erzeugen der Series statt nil eine
Delphi-Quellcode:
-Instanz (z.B. das Chart selbst) als Owner angibst, dann kannst du über das
TComponent
Delphi-Quellcode:
dieser Instanz die Series über ihren Namen finden. Wichtig ist halt, daß die Namen innerhalb des Owner eindeutig sind.
FindComponent
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var lsSeries: TLineSeries; begin lsSeries := TLineSeries.Create(Chart1); lsSeries.Name := 'lsAverage'; lsSeries.Title := 'Average'; lsSeries.Marks.Visible := False; lsSeries.ValueFormat := '0.#'; lsSeries.LinePen.Width := 1; lsSeries.XValues.DateTime := False; lsSeries.XValues.Order := loAscending; lsSeries.YValues.Order := loNone; lsSeries.SeriesColor := clBlue; lsSeries.Pointer.Visible := False; Chart1.AddSeries(lsSeries); end; procedure TForm1.Button2Click(Sender: TObject); var series: TLineSeries; begin series := Chart1.FindComponent('lsAverage') as TLineSeries; Button2.Caption := series.Title; end; |
AW: Zur Designetime erzeugte TeeChart.Series per Name ansprechen
Warum nicht gleich die Variable lsSeries in TForm1 unter privat deklarieren?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz