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 StringGrid mit unbegrenzter Zeilenanzahl? (https://www.delphipraxis.net/123746-stringgrid-mit-unbegrenzter-zeilenanzahl.html)

jr1510 7. Nov 2008 15:27


StringGrid mit unbegrenzter Zeilenanzahl?
 
Moin, moin,
fuer ein Statistikprogramm, mit dem hochaufgeloeste
Langzeitmessdatenreihen ausgewertet werden sollen, suche ich eine
Gitter-Komponenten mit einer wirklich unbegrenzten Anzahl von Zeilen.

Bisher verwende ich TStringAlignGrid. Die Daten selbst werden in einer
internen Speicherstruktur gehalten und nur der gerade angezeigte
Ausschnitt wird dynamisch in Abhaengigkeit von TopRow und
VisibleRowCount im Gitter angezeigt. Nur das ermoeglicht ueberhaupt
viele Datensaetze anzeigen zu koennen - sonst ist die Zellenanzahl aus
Speicherplatzgruenden sehr schnell arg begrenzt. Um im Gitter
vernuenftig per Tastatur und Scrollbar navigieren zu koennen, werden
die Gitterdimensionen nach dem Laden der Daten mit RowCount und
ColCount auf die benoetigten Werte gesetzt. Dabei ist jetzt jedoch bei
etwa 1 Mio. Zeilen Schluss, d.h. das Gitter stellt dann beim Zuweisen
von Strings an Zellen mit einem Zeilenindex groesser als 1 Mio. nichts
mehr da.

Nun suche ich eine Komponente, die auch mehr Zeilen darstellen kann
bzw. mit deren Hilfe das Navigieren durch mehr als 1 Mio. Zeilen noch
moeglich ist. Ich moechte dabei bewusst kein DBGrid oder aehnliches
einsetzen, da ich auf meine recht komplexe interne Speicherstruktur
zum Halten der Daten angewiesen bin und das Gitter die Daten aus
dieser Struktur lesen soll. Eine zweite Kopie der Daten im Speicher
oder der direkte Zugriff auf die Datenbank, aus der die Daten kommen,
ist ebenfalls nicht moeglich.

Ich wuerde mich freuen, wenn mir jemand vielleicht eine entsprechende
Komponente empfehlen kann. Sie darf auch etwas kosten.
TElTreeStringGrid, TAdvStringGrid und Virtual Treeview, die hier immer
wieder empfohlen werden, habe ich mir angeschaut. Abgesehen davon,
dass bei keiner dieser Komponenten dabei steht, wieviel Zeilen
verarbeitet werden koennen, ist auch der Klicki-Bunti-Funktionsumfang,
den diese Teile bieten, fuer meine Anforderungen viel zu gewaltig. Was
ich suche sollte moeglichst schlank und speichersparenden sein.

Vielen Dank fuer Eure Hinweise!
Joerg Radomski

s.h.a.r.k 7. Nov 2008 15:32

Re: StringGrid mit unbegrenzter Zeilenanzahl?
 
schon mal die virtualstringtree probiert? die ist an sich verdammt mächtig. wo das maximum dieser komponente liegt weiß ich aber nicht. auch das handling ist etwas anders, aber eben absolut flexibel!

hier zu finden

Bernhard Geyer 7. Nov 2008 15:43

Re: StringGrid mit unbegrenzter Zeilenanzahl?
 
Du könntest auch TListView im virtual Modus betreiben.
Alternativ Elpack + TElTreeStringGrid + Virtual Modus.

Anzahl der Einträge wird bei jedem dieser Controls vom zur verfügung stehenden Speicher begrenzt. Also aktuell ist dies unter Win64 mit einem Win32-Delphi-Programm 3 GB. Für jeden Eintrag wirst du den Speicher deiner Struktur benötigen. Die Grid-Kompos werden im Virtuellen Modus praktisch keinen eigenen Speicher pro Eintrag verbrauchen.

Chemiker 7. Nov 2008 17:27

Re: StringGrid mit unbegrenzter Zeilenanzahl?
 
Hallo,

ich würde an Deiner Stelle trotzdem mal über eine Datenbank nachdenken. Du willst die Messreihen wahrscheinlich ja auch speichern/laden. Du bist bei einer Datenbank auch nicht auf die DBGrid angewiesen, sondern kannst Dir selber eine nach Deinen Bedürfnissen schreiben.

Bis bald Chemiker


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