Dieser Artikel richtet sich hauptsächlich an Programmierer, die Borland C ++ Builder verwenden. Die TChart-Komponente ist ein leistungsstarkes Mittel zum Hinzufügen von Visualisierungen zu Programmen. Leider ist das Laden von mehreren hundert Punkten in ein Diagramm unter Verwendung herkömmlicher Klassenmitglieder mühsam langsam. Dieser Artikel bietet, wie es der Titel andeutet, eine Möglichkeit, dieses Problem zu umgehen.
In der Regel werden Punkte mithilfe von hinzugefügt AddXY (anXValue, anYValue, aLabel, aColor). Diese Elementfunktion funktioniert gut, wenn nur wenige Punkte hinzugefügt werden müssen. Wenn es jedoch eine große Anzahl von Punkten gibt, benötigt diese Funktion eine merklich lange Zeit (siehe die Zeit, die zum Laden von bis zu 29.470 Datenpunkten auf einer Testmaschine benötigt wird).
Schritte
- 1 Der Trick besteht darin, den Speicher für die Punkte in der Diagrammserie vorzubelegen. Es gibt keine offensichtliche Funktion in TSerien das tut das, aber das FillSampleValues Funktion erfüllt den gleichen Zweck, indem sie die Reihe mit einer bekannten Anzahl von Punkten füllt.
- // lade die Daten in einen Speicherstream
- ms-> LoadFromFile ("Daten");
- // Berechne die Anzahl der Punkte
- numpts = ms-> Suche (0, soFromEnd) / sizeof (cd);
- // Speicherplatz reservieren
- Series1-> FillSampleValues (Numps);
- // lade die Daten in das Diagramm
- ms-> Position = ms-> Suche (0, soFromBeginning);
- für (vorzeichenlos i = 0; i <numme; i ++)
- ms-> Lesen (& cd, numbytes);
- Serie1-> XValues- Wert [i] = cd.x;
- Serie1-> YValues-> Wert [i] = cd.y;