![]() |
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 |
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!
![]() |
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. |
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 11:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz