AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Listbox Itemmaximalbeschränkung?

Ein Thema von Axxus · begonnen am 25. Jun 2007 · letzter Beitrag vom 25. Jun 2007
Antwort Antwort
Axxus

Registriert seit: 3. Okt 2006
212 Beiträge
 
Turbo Delphi für Win32
 
#1

Listbox Itemmaximalbeschränkung?

  Alt 25. Jun 2007, 13:29
HI Delphianer

Ich bin an einem Algorhythmusprojekt dran (Inhalt sollte unwichtig sein) Jedenfalls wird am anfang ein Maximalwert angegeben und dann wird gezählt und die Ergebnisse sollen in mehrere Listboxen gespeichert werden.

Nun hab ich mir grdacht:

Nimmst du dir einen Scrollbar und und wenn man an der scrollt bewegen sich die Listboxen parallel mit runter. So Leider funzt das nicht so, wie ich mir das vorgestellt hab, denn der Scrollbar. max ist von Typ integer und mein Programm soll für mehr als nur für 2.000.000.000 ergebnisse KOmpatibel sein xD

Also hab ich mir gedacht:

ok dann nehm ich halt den Scrollbar von einer Listbox und wenn an der gescrollt wird bewegen sich die anderen parallel mit. Nin ist aber auch der Listbox.topINdex vom Typ integer.

Lannge rede kurzerr sinn:

Kann man in einer Listbox mehr als 2.000.000.000 items unterbringen???

Gruß

Axxus
  Mit Zitat antworten Zitat
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.169 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Listbox Itemmaximalbeschränkung?

  Alt 25. Jun 2007, 13:33
Nein, kannst Du nicht - und ich denke, dass dies auch nicht das ... sagen wir ... primäre ... Einsatzgebiet für eine Listbox ist.

Die Einträge, die Du anzeigst, soll der Anwender ja auch noch irgendwie verkraften können. Eine GUI ist zur allgemeinen Datenhaltung grundsätzlich nicht geeignet. Wenn Du schon mit so vielen Werten rechnest und sie tatsächlich auch alle individuell benötigst, dann würde ich die Liste in Hintergrund führen und nur die Intervalle darstellen, die der Anwender gerade benötigt. Und aus Gründen der Geschwindigkeit würde ich dann vermutlich nicht zur Listbox greifen, sondern zum TVirtualTree von Mike Lischke.
Daniel R. Wolf
Admin Delphi-PRAXiS
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Axxus

Registriert seit: 3. Okt 2006
212 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Listbox Itemmaximalbeschränkung?

  Alt 25. Jun 2007, 13:44
Ich führe die Liste parallel im HIntergrund.

Es geht um das vergleichen von zahlen und ob diese pythagoräisch zueinander sind also on sqrt (a+b) = c ist, wobei c eine ganze zahl sein muss.

sobald ein ergebniss rauskommt wird dieses in einer Stringlist im hintergrund gespeciehrt und per intervall (den der nutzer selbst entscheiden kann) in die Listbox eingefügt.

nun will ich dem endbenutzer ein möglichst flexibles Programm anbieten, dass nicht anstürzt, sobalt es mal mehr sls 2.000.000.000 Zahlen sind (in der Praxisi wird dieser wert wahrscheinlich nie errreicht werden, aber falls ja...)

Meint ihr es wäre sinvoll, wenn erst einmal nur die ersten 100 angezeigt werden und der benutzer dann die spannweite der anzuzeigenden Zahlen selbst bestimmen kann?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
Ort: Oberreichenbach
16.496 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Listbox Itemmaximalbeschränkung?

  Alt 25. Jun 2007, 13:55
2.000.000.000 Einträge - Und das bei einem 32-Bit Betriebssystem
Ohne Vorkehrungen wird dein programm gerade soviel Speicher insgesamt (in Bytes) verbrauchen dürfen. Und da sind alle geladenen DLL's etc. auch dabei.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DelphiKlaus

Registriert seit: 18. Okt 2006
100 Beiträge
 
Delphi 6 Professional
 
#5

Re: Listbox Itemmaximalbeschränkung?

  Alt 25. Jun 2007, 13:59
Hallo,

Du solltest einfach mal überlegen, wie lange Dein Programm wohl brauchen würde, um 2.000.000.000 Kombinationen von Zahlen a, b und c zu finden, die die vorgegebene Bedingung erfüllen. Wenn Du es schaffst, einen Algorithmus zu implementieren, der 10.000 Zahlentripel pro Sekunde prüft, braucht Dein Programm ca. 60 Stunden, wenn ich richtig gerechnet habe, um 2.000.000.000 Zahlentripel zu untersuchen. Das heisst aber noch nicht, das auch 2.000.000.000 Ergebnisse gefunden wurden. Da zu würde ein Rechner vermutlich mehrere Wochen ununterbrochen rechnen müssen. Und wieviele Jahre würde der Anwender brauchen, um sich diese Zahlen anzugucken?

Klaus
  Mit Zitat antworten Zitat
Axxus

Registriert seit: 3. Okt 2006
212 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Listbox Itemmaximalbeschränkung?

  Alt 25. Jun 2007, 14:28
Mhh stimmt
ok habt recht, außerdem soviele müssen es ja auch nicht sein

Danke

Axxus
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#7

Re: Listbox Itemmaximalbeschränkung?

  Alt 25. Jun 2007, 14:33
das kann man ja alles enorm reduzieren....

ansatz..

a+b=c²

also erstmal gesucht sind alle quadratzahlen, die anderen fallen weg...

liste der qudratzahlen...
1
4 = 1+3
9 = 1+3+5

..lassen sich durch addition der ungeraden darstellen.

nun alle kombinationen mit denen sich quadratzahlen darstellen lassen....

beispiel 16...

1) 1+15
2) 2+14
..
8) 8+8
...
beispiel 9

1) 1+8
2) 2+7
3) 3+6
4) 4+5
...

mit hilfe des kommutativgesetztes brauchst du nur bis |qudratzahl/2| darstellen

das sollte deine datenflut schon mal reduzieren....
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf