Einzelnen Beitrag anzeigen

drunky1337

Registriert seit: 19. Mär 2013
Ort: Künzelsau
5 Beiträge
 
Delphi XE3 Architect
 
#1

TChart Runtime/Designtime unterschiedlich

  Alt 22. Mai 2013, 08:19
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 := '' + 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
Miniaturansicht angehängter Grafiken
chartdesigntime.png   chartruntime.png  
Arthur
  Mit Zitat antworten Zitat