AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TeeChart Series dynamisch erstellen

Ein Thema von nwnssolutionssoftware · begonnen am 21. Mai 2019 · letzter Beitrag vom 23. Mai 2019
Antwort Antwort
Seite 1 von 2  1 2   
nwnssolutionssoftware

Registriert seit: 6. Aug 2018
45 Beiträge
 
#1

TeeChart Series dynamisch erstellen

  Alt 21. Mai 2019, 23:58
Hallo community,
hoffe ich habe das Thema jetzt richtig zugeordnet.
Also zu meinem Problem:
Ich würde gerne mit den TeeChart Komponenten ein Programm entwerfen mit dem ich
dynamisch Series erstellen kann. Ich habe es so versucht aber das hat leider nicht funktioniert:
Code:
cht1.Series[i].Create(TChart);
cht1.Series[i].Add(StrToFloat(StringGrid1.Cells[1, 5]), '1', clTeeColor);
cht1.Series[i].Add(StrToFloat(StringGrid1.Cells[2, 5]), '2', clTeeColor);
cht1.Series[i].Add(StrToFloat(StringGrid1.Cells[3, 5]), 'P1', clTeeColor);
cht1.Series[i].Add(StrToFloat(StringGrid1.Cells[4, 5]), '3', clTeeColor);
cht1.Series[i].Add(StrToFloat(StringGrid1.Cells[5, 5]), '4', clTeeColor);
cht1.Series[i].Add(StrToFloat(StringGrid1.Cells[6, 5]), 'P2', clTeeColor);
cht1.Series[i].Add(StrToFloat(StringGrid1.Cells[7, 5]), '5', clTeeColor);
Resultat eine Zugriffsverletzung
Habt ihr eine Idee wie ich das Lösen kann?
Vielen Dank im Vorraus!

PS: Vor dem Code ist natürlich eine For Schleife die mit der Variable "I" arbeitet.
Holger

Geändert von nwnssolutionssoftware (22. Mai 2019 um 00:00 Uhr)
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: TeeChart Series dynamisch erstellen

  Alt 22. Mai 2019, 06:24
Hallo,

da sind gleich mehrere Sachen so nicht richtig bzw. gefährlich!

Du solltest die vorhandenen Series im Chart erstmal alle löschen, also vor deiner Schleife.
Danach erzeugst du die Series jeweils neu. Du musst angeben was für eine Series du willst.
Hier also z.B. eine TPieSeries, bei dir wohl eher eine TBarSeries.

Delphi-Quellcode:
  ASeries:=TPieSeries.Create(AChart);
  ASeries.Marks.Visible:=false;
  ASeries.Shadow.Visible:=false;
  ASeries.ColorEachPoint:=true;
  AChart.AddSeries(ASeries);
Dann stellst du die entsprechenden Propertys der Series ein und übergibst Sie dem entsprechenden Chart.
Danach kannst du der Series die entsprechenden Werte mitteilen.

 ASeries.Add (Value,clTeeColor); // usw. Tipp: Ändere das auslesen der Daten aus dem Stringgrid! Am besten du speicherst die Daten in einem separaten Container (Listen usw.) und arbeitest dann mit diesen.
Das StrToFloat ist hier sehr gefährlich! Schon mal versuchte eine Zahl mit oder nur Buchstaben einzugeben? Das knallt definitiv. Alternativ (aber es gibt bessere Möglichkeiten) schau mal nach StrToFloatDef oder TryStrToFloat.

cu cg
Andreas Schachtner
  Mit Zitat antworten Zitat
nwnssolutionssoftware

Registriert seit: 6. Aug 2018
45 Beiträge
 
#3

AW: TeeChart Series dynamisch erstellen

  Alt 22. Mai 2019, 13:27
Okay vielen Dank für die schnelle Antwort.Damit ist mein Problem leider noch nicht behoben da ich ja trotzdem ASeries als Variable erstellen muss und daher nicht dynamisch verschiedene Series erstellen kann!
Trotzdem schonmal vielen dank
Holger
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: TeeChart Series dynamisch erstellen

  Alt 22. Mai 2019, 17:36
Hallo Nico,

das geht schon so wie ich es beschrieben habe. Zeig mal deinen ganzen bisherigen Code in der Methode, also mit for-Schleife.
Du kannst doch später immer noch über das Series-Array des Charts auf die Serien zugreifen! Die lokale Variable macht dir das erstellen nur einfacher.

cu cg
Andreas Schachtner
  Mit Zitat antworten Zitat
nwnssolutionssoftware

Registriert seit: 6. Aug 2018
45 Beiträge
 
#5

AW: TeeChart Series dynamisch erstellen

  Alt 23. Mai 2019, 17:50
Den gesamten Code möchte ich eigentlich nicht hochladen.(Datenschutz und so)
Jedoch finde ich das Series Arry ganz interresant...
Habe mich jetzt auch schonmal eingelesen jedoch verstehe ich nicht ganz wie ich das
jetzt bei mir mit einbinden soll
Trotz alledem Vielen Dank schonmal
Holger
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: TeeChart Series dynamisch erstellen

  Alt 23. Mai 2019, 18:02
....weiß jetzt nicht was eine Methode (die offensichtlich nicht funktioniert und hoffentlich nur ein Prototyp (Bezeichner usw.) ist) mit Datenschutz zu tun hat, aber ok.
Andreas Schachtner
  Mit Zitat antworten Zitat
nwnssolutionssoftware

Registriert seit: 6. Aug 2018
45 Beiträge
 
#7

AW: TeeChart Series dynamisch erstellen

  Alt 23. Mai 2019, 18:07
Leider ist es nicht eine einzelne Methode sondern teilt sich in weitere Methoden auf und ich wollte nun wirklich nicht das ganze Projekt hochladen weil dieses Procedure auf abhängigkeiten von weiteren .PAS datein angewiesen ist.
Und man braucht ja eigentlich nicht den gesamten Code nur um mal kurz das Series Array zu erklären da da aktuell mein Schwerpunkt liegt.
Besten dank aber trotzdem für die schnelle Antwort!
Holger
  Mit Zitat antworten Zitat
Thomas Horstmann

Registriert seit: 25. Apr 2007
86 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: TeeChart Series dynamisch erstellen

  Alt 23. Mai 2019, 18:10
Vielleich hilft das ja.

Delphi-Quellcode:
var
iLoop : Integer ;
iSeries : TChart ;
begin
{ Schleife, 10x Balkenserien anlegen }
for iLoop := 0 to 9 do
  begin
  { Anlegen }
  iSeries := TBarSeries.Create(Owner) ;
  iSeries.BarPen.Visible := False ;
  iSeries.Marks.Arrow.Visible := False ;
  { In Grafik speichern }
  MyChart.AddSeries(iSeries) ;
  end ; // for iLoop
  
{ Schleife, alles wieder löschen }
for iLoop := SeriesCount - 1 downto 0 do
  begin
  iSeries := Series[iLoop] ;
  iSeries.Free ;
  end ;
end ;
  Mit Zitat antworten Zitat
nwnssolutionssoftware

Registriert seit: 6. Aug 2018
45 Beiträge
 
#9

AW: TeeChart Series dynamisch erstellen

  Alt 23. Mai 2019, 18:11
Super vielen Dank hat wunderbar funktioniert
War genau das wonach ich gesucht hatte.
Und klar wenn mann mal etwas genauer überlegt dann war es doch logisch.
Nunja manchmal sieht man den Wald vor lauter Bäumen nicht.
Holger
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
375 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: TeeChart Series dynamisch erstellen

  Alt 23. Mai 2019, 19:20
...hättest du meinen ersten Post richtig gelesen wärst du selber drauf gekommen!
Andreas Schachtner
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz