Einzelnen Beitrag anzeigen

Thanatos81
(Gast)

n/a Beiträge
 
#8

Re: TChart, TLineSeries erzeugen

  Alt 12. Okt 2005, 09:49
Zitat von Keldorn:
Was machst du denn noch in deinem "Originalkontext" ? Weil so wie der code jetzt dasteht, sehe ich keinen Fehler.
Da passiert das hier:
Delphi-Quellcode:
procedure TForm1.getUserData(ID : String);
begin
  zqDaten.SQL.Clear;
  zqDaten.SQL.Add('SELECT Zeitpunkt, Punkte FROM Daten WHERE userID = '+ID+' ORDER BY Zeitpunkt');
  zqDaten.Open;
end;

procedure TForm1.JvDBMaskEdit1Change(Sender: TObject);
begin
  getUserData(TjvDBMaskEdit(Sender).Text);
  zqDaten.First;
  zqDaten.DisableControls;
  Series1.Clear;
  Series2.Clear;
  while not(zqDaten.EoF) do
    begin
      Series1.AddXY(zqDaten.Fields.Fields[0].asFloat,zqDaten.Fields.Fields[1].asFloat);
      Series2.AddXY(zqDaten.Fields.Fields[0].asFloat,zqDaten.Fields.Fields[1].asFloat);
      zqDaten.Next;
    end;
  zqDaten.First;
  zqDaten.EnableControls;
end;
Das ist die Variante wie es funktioniert, da hab ich dann allerdings die BarSeries, die ich nicht möchte. Folgendes funktioniert nicht:
Delphi-Quellcode:
procedure TForm1.JvDBMaskEdit1Change(Sender: TObject);
begin
  getUserData(TjvDBMaskEdit(Sender).Text);
  zqDaten.First;
  zqDaten.DisableControls;
  Series1.Clear;
  while not(zqDaten.EoF) do
    begin
      Series1.AddXY(zqDaten.Fields.Fields[0].asFloat,zqDaten.Fields.Fields[1].asFloat);
      zqDaten.Next;
    end;
  zqDaten.First;
  zqDaten.EnableControls;
end;
Das wäre dann mit Series1 als TLineSeries.

Aber auch wenn ich das ganze in ein neues Projekt schiebe und nur oben beschriebenen Code nutze hauts nicht hin. Bei meinen anderen alten Projekten mit Paradox über BDE klappts auch mit dynamisch erzeugten Serien, da hab ich den Code ja rausgenommen.

@alzaimar
Danke für den Hinweies bezüglich des TDBCharts. Damit funktioniert es halbwegs, nur nach mehrmaligen wechselnd des Datensatzes bekomme ich auch da eine Schutzverletzung, es sei denn, na wer errät es?, ich benutze eine TBarSeries

Werde jetzt wohl das TJvChart aus der JVCL nutzen, da ich eh nicht viel brauche...
  Mit Zitat antworten Zitat