Hallo Leute,
ich arbeite in meinem Programm mit einem TChart um Messdaten anzuzeigen. Das Problem welchesich habe ist, dass die Formattierung die ich während der Designtime am TChart anwende, nicht in der Runtime verwendet wird.
Genaues Beispiel:
Ich habe in der Designtime die 3D-Einstellung deaktiviert, den Farbverlauf(Hintergrund) deaktiviert, Achsenbeschriftungen hinzugefügt und noch ein paar Visuelle Änderugen vorgenommen. Wenn ich aber jetzt mein Programm ausführe, dann übernimmt das Chart keine einzige Änderung die ich eingestellt habe. Auf den Bildern sieht man sehr gut was ich meine.
Teilweise lösen konnte ich mein Problem indem ich Im Sourcecode mein Chart nochmals bearbeitet habe jedoch ist das eine sehr umständliche Arbeit die sicherlich nicht notwendig ist.
Der Code zum erzeugen des Charts sieht so aus
Delphi-Quellcode:
//Series freigeben
for i := ChartMessdaten.SeriesCount-1 DownTo 0 do
ChartMessdaten.Series[i].Free;
//Befüllen des Chartes
for i := 0 to (numberOfSeries -1) do begin
ChartMessdaten.AddSeries(TFastLineSeries.Create(self)); //Erstell neue Series
ChartMessdaten.Series[i].Name := 'Tü' + IntToStr(i+1);
//Durchlaufen der Zeilen
for r := 1 to y do begin
ChartMessdaten.Series[i].AddXY(strtofloat(StringGridMessDaten.Cells[1,r]),
strtofloat(StringGridMessDaten.Cells[temp+numberofSeries,r])); //Beziehe Daten aus StringGrid (Spalte 1 (Zeit) und Variable Spalte (T1..TüX)
end;
temp := temp + 1; //Datenquelle für die Series erhöhen (nächste Spalte aus dem StringGrid)
end;
Und hier der Teil den ich als Notfalllösung bereits verwendet hatte
Delphi-Quellcode:
//Formattierung des Charts
ChartMessdaten.View3D := false;
ChartMessdaten.Title.Caption := 'MESS_ID: ' + cdsBT_Messdaten.FieldByName('MESS_ID').AsString;
ChartMessdaten.Title.Font.Size := 11;
ChartMessdaten.Title.Font.Style := [fsBold];
ChartMessdaten.LeftAxis.Title.Caption := 'Temperatur (K)';
ChartMessdaten.BottomAxis.Title.Caption := 'Zeit';
ChartMessdaten.LeftAxis.Title.Font.Size := 11;
ChartMessdaten.LeftAxis.Title.Font.Style := [fsBold];
ChartMessdaten.BottomAxis.Title.Font.Size := 11;
ChartMessdaten.BottomAxis.Title.Font.Style := [fsBold];
ChartMessdaten.Gradient.Visible := false;
ChartMessdaten.Color := clWhite;
Arbeiten tu ich mit Delphi XE3, sollten noch irgendwelche Informationen benötigt werden liefere ich diese gerne nach
Wäre sehr dankbar wenn jemand eine Lösung parat hat
mfg
drunky