AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Begrenzung auf die Elementenanzahl im StringGrid?
Thema durchsuchen
Ansicht
Themen-Optionen

Begrenzung auf die Elementenanzahl im StringGrid?

Ein Thema von Almidagu · begonnen am 29. Nov 2007 · letzter Beitrag vom 30. Nov 2007
Antwort Antwort
Almidagu

Registriert seit: 14. Mai 2007
11 Beiträge
 
#1

Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 29. Nov 2007, 10:37
Guten Tag,

eine Frage. Ich arbeite mit den großen Datenmengen, die in StringGrid angezeigt werden sollen. Gibt es eine Begrenzung auf die Elementenanzahl im StringGrid?

Für die Hilfe, Links wäre ich sehr dankbar.

Grüße
Almidagu
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 29. Nov 2007, 10:59
Hallo,

man könnte von "virtual unlimited" sprechen - eher geht dir der Speicher aus, als dass du an implementierungsbedingte Grenzen von TStringGrid stoßen wirst.

Du solltest vielleicht darüber nachdenken, ob du deine Daten nicht lieber nur zeichnest (OnDraw...). Bei richtig großen Datenmengen möchte der Benutzer deines Programms nicht ewig warten müssen, bis dein Grid gefüllt oder gespeichert ist.

Grüße vom marabu
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 29. Nov 2007, 11:02
Hallo,

Col und Row sind Integer.
Also 4 Mrd. Cols / 4 Mrd. Rows.

Aber wie schon mein Vorgänger sagte,
dir geht eher der Speicher aus beim StringGrid
(jeder Cells[] wird ja als String gespeichert).

Abhilfe1: DrawGrid.
Anhilfe2: nicht alles anzeigen


Heiko
Heiko
  Mit Zitat antworten Zitat
Almidagu

Registriert seit: 14. Mai 2007
11 Beiträge
 
#4

Re: Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 29. Nov 2007, 12:33
Hallo marabu und Heiko,

zuerst vielen Dank für die Antworten. Dass StringGrid keine implementierungsbedingten Grenzen hat, habe ich gedacht. Ich meinte, dass es einige Eigenschaften oder globale Variablen gibt, die notwendigen Speicher beschreiben und ein Limit berechnen können, oder etwas ähnliches, wie Capacity bei TList.

Sie haben meine Vermutungen (weil ich kein richtiger Expert bin) bestätigt, dass ich alles selber programmieren muss. Die Richtungen haben Sie mir gegeben.

Viele Grüße
Almidagu
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 29. Nov 2007, 12:38
Zitat von Almidagu:
Hallo marabu und Heiko,

zuerst vielen Dank für die Antworten. Dass StringGrid keine implementierungsbedingten Grenzen hat, habe ich gedacht. Ich meinte, dass es einige Eigenschaften oder globale Variablen gibt, die notwendigen Speicher beschreiben und ein Limit berechnen können, oder etwas ähnliches, wie Capacity bei TList.

Sie haben meine Vermutungen (weil ich kein richtiger Expert bin) bestätigt, dass ich alles selber programmieren muss. Die Richtungen haben Sie mir gegeben.

Viele Grüße
Almidagu
Das verwirrt mich ein wenig. Möchtest du nun ausrechnen, wie viel Speicher das Grid verbraucht, oder wie viel es verbrauchen könnte bevor der Arbeitsspeicher voll ist oder etwas ganz anderes?
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Almidagu

Registriert seit: 14. Mai 2007
11 Beiträge
 
#6

Re: Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 29. Nov 2007, 16:41
Hallo Deep-See,

es ist gute Frage. Nein, ich stelle mir vor, ein leeres StringGrid zu erstellen und abhängig von Scrolling entsprechende Zellen zu füllen. Ich kenne nicht alle Möglichkeiten, die in Delphi sind. Wenn das nicht klappt oder zu langsam für einen Anwender ist, dann werde ich andere Wege suchen.

Grüße
Almidagu
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 30. Nov 2007, 07:11
Zitat von Almidagu:
[...] und abhängig von Scrolling entsprechende Zellen zu füllen.
Sowas nennt sich "Virtual" und ist eig. die performanteste Methode (sofern du wahlfrei und schnell auf die Daten zugreifen kannst).
Jedoch glaube ich, dass ein StringGrid dies nicht unterstützt. Evtl. kannst du eine ListView verwenden. Ansonsten gibt es noch viele andere Komponenten (zB. VirtualTreeView) die so etwas können.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 30. Nov 2007, 08:39
Hallo,

ob virtuell die beste Bezeichnung für das Konzept ist, möchte ich jetzt nicht diskutieren. Ich unterscheide die Datenhaltung durch eine visuelle Komponente von einer externen Datenhaltung. Beim StringGrid kann ich Daten in den Zellen ablegen, kann es auch sein lassen. Mitunter mischt man beide Ansätze: In den Zellen stehen Daten, aber angezeigt werden ganz andere. Eigentlich ist es eine Entscheidung zwischen DrawGrid und StringGrid. Letzteres bringt eine intelligente Speicherverwaltung für Daten (Strings) mit, die ich manchmal gerne verwende. Weitere Infos dazu in einem anderen Thread.

Freundliche Grüße
  Mit Zitat antworten Zitat
Almidagu

Registriert seit: 14. Mai 2007
11 Beiträge
 
#9

Re: Begrenzung auf die Elementenanzahl im StringGrid?

  Alt 30. Nov 2007, 08:54
Guten Morgen und Danke für die Beratung.

Zitat von Deep-Sea:
... sofern du wahlfrei und schnell auf die Daten zugreifen kannst
Richtig, das ist der Kern der Sache. Wie ich gesehen habe, hat StringGrid einige Eigenschaften, die man für meine vorgeschlagene Methode verwenden könnte. Ich werde später das prüfen. Ich werde auch über ListView und VirtualTreeView lesen, vielleicht passt besser ein von denen. Danke schon.

Grüße
Almidagu

P.S. Morgen marabu, danke schön. Gerade beim Absenden der Antwort kam Deine Post. Ich lese Dein Link und soll alles überlegen.
Grüße. Almidagu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 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