Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Datenpunkte löschen? (https://www.delphipraxis.net/93786-datenpunkte-loeschen.html)

echitna 11. Jun 2007 12:45


Datenpunkte löschen?
 
Hallo,

ich würde gerne mal wissen, ob man bei der TChart Komponente auch Datenpunkte löschen kann? Also so, das immer die ältesten Werte gelöscht werden und nur die letzten 20 angezeigt werden.
Bei meiner Anwendung wird nämlich jede Sekunde ein neuer Wert hinzugefügt und wenn zu viele Werte drinstehen wird die Anzeige immer langsamer, das möchte ich gerne vermeiden.

messie 11. Jun 2007 12:48

Re: Datenpunkte löschen?
 
Klar, da solltest Du einen Ringspeicher nehmen, der zyklisch beschrieben und dessen Werte übergeben werden (Also nicht mit Chart.Add, das ist viel zu langsam).

Man kann Datenpunkte direkt an den Chart übergeben.

Delphi-Quellcode:
var
timeaxis, valueaxis : array or double;
begin
  Series1.XValues.Value := TChartValues(timeaxis);
  Series1.YValues.Value := TChartValues(valueaxis);
end;
Kann sein, daß das nur mit TLineSeries oder TFastLineSeries geht.

Grüße, Messie

marabu 11. Jun 2007 14:15

Re: Datenpunkte löschen?
 
Hallo,

grundsätzlich kann man in einer Series mit Delete(0) und AddXY() das gewünschte Verhalten erzeugen, wie die mitgelieferte TeeDemo zeigt. Das geht so schnell, dass ein Sekunden-Intervall kein Problem darstellt.

Freundliche Grüße

messie 11. Jun 2007 17:40

Re: Datenpunkte löschen?
 
Zitat:

Zitat von marabu
grundsätzlich kann man in einer Series mit Delete(0) und AddXY() das gewünschte Verhalten erzeugen, wie die mitgelieferte TeeDemo zeigt. Das geht so schnell, dass ein Sekunden-Intervall kein Problem darstellt.

Normalerweise sollte es reichen. Beim Addxy werden nicht nur das Repaint sowie alle Subroutinen zur Skalierung, Sortierung etc. abgehechelt. Mit ein paartausend Datenpunkten kann man da schon ganz schön langsam werden.

Grüße, Messie


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 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