Einzelnen Beitrag anzeigen

Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Chart1.SeriesList erzeugung zur Laufzeit

  Alt 18. Jul 2005, 21:22
irgendwie stimmt dein Schleifenaufbau nicht und deine Einrückungen dienen nicht wirklich der Übersicht ,
Delphi-Quellcode:
  for x := Form1.meineListe.count - 1 downto 0 do
  begin
    ...
    for y := 0 to 36 do
      begin
          [b]MySeries:= TLineseries.Create( Self );;////Dies wurde Hinzugefügt
          MySeries.ParentChart:= Chart1;;////Dies wurde Hinzugefügt[/b]
          with Chart1.SeriesList[ y ] do
          AddXY( i,Counter[y] );
        end;
      end;
    end;
in jedem y-Durchlauf wird ein Lineseries erstellt und das ganze x-mal (äußere Schleife).

ungetestet:
Delphi-Quellcode:
  If ComboBox1.ItemIndex = 0 Then
  begin
    for y := 0 to 36 do
      begin
        Counter[y] := 0;
        MySeries:= TLineseries.Create( Self );
        MySeries.ParentChart:= Chart1;
      end;
    for x := Form1.meineListe.count - 1 downto 0 do
      begin
        z:=StrToInt(Form1.meineListe.Strings[x]);
        i:=Form1.meineListe.count-x;
        for y := 0 to 36 do
          begin
            if (z in Form1.werte[y]) then Counter[y] := 0
                                     else Inc(Counter[y]);
            Chart1.SeriesList[y].AddXY( i,Counter[y] );
          end;
      end;
  end;
Du könntest dir noch überlegen, ob du die x und y-Schleife drehst, somit könntest du dir die obere schleife sparen. Geschwindigkeitsmäßig bremst dich dann aber das strtoint aus, aber das gibts auch Mittel und Wege.

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat