Autor Beitrag
Bomania
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: Di 04.03.03 18:31 
Hallo,

wieviele Einträge kann man in eine Listbox machen, bevor es zu einem Fehler kommt? Oder ist eine Listbox auch Zeichenbeschränkt wie ein Memo oder TEdit?

Danke.
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Di 04.03.03 19:23 
Titel: Re
Tja, ich schätze mal 2147483647 Einträge. Warum? Weil die Funktion Add() einen Integer zurück gibt, der maximale Wert den ein Int annehmen kann ist besagte Zahl. Allerdings wird wohl vorher eher der RAM etwas klein werden, und der User hat echte Probleme den 54382 Eintrag auszuwählen. :roll:

MFG
MSCH
Bomania Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 139

Win XP

BeitragVerfasst: Di 04.03.03 19:26 
Ist die maximale Größe eines Int nicht 32 tausend irgendwas? Aber mir reichen schon 1000 Einträge für die Listbox.

Danke für die Info.
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Di 04.03.03 19:30 
Hier die Details:
Ein Integer-Typ repräsentiert eine Untermenge der ganzen Zahlen. Es gibt zwei generische Integer-Typen: Integer und Cardinal. Diese Typen sollten, wenn möglich, immer verwendet werden, da sie die optimale Ausführungsgeschwindigkeit für die zugrundeliegende CPU und das Betriebssystem gewährleisten. Die nachfolgende Tabelle enthält die Bereiche und Speicherformate der generischen Integer-Typen für den aktuellen 32-Bit-Compiler von Object Pascal.

Zitat:
Typ Bereich Format
Integer -2147483648..2147483647 32 Bit mit Vorzeichen
Cardinal 0..4294967295 32 Bit ohne Vorzeichen
Zu den fundamentalen Integer-Typen gehören Shortint, Smallint, Longint, Int64, Byte, Word und Longword.

Typ Bereich Format
Shortint -128..127 8 Bit, mit Vorzeichen
Smallint -32768..32767 16 Bit, mit Vorzeichen
Longint -2147483648..2147483647 32 Bit, mit Vorzeichen
Int64 -2^63..2^63 -1 64 Bit, mit Vorzeichen
Byte 0..255 8 Bit, ohne Vorzeichen
Word 0..65535 16 Bit, ohne Vorzeichen
Longword 0..4294967295 32 Bit, ohne Vorzeichen


Was du Meinst, ist ein SmallInt.
Grüße
MSCH
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 04.03.03 20:55 
Zitat:
Warum? Weil die Funktion Add() einen Integer zurück gibt, der maximale Wert den ein Int annehmen kann ist besagte Zahl.
Das sagt aber nicht, dass es nicht auch weniger sein können. Die Größe des Integer gibt Dir nur die Obergrenze für das Maximum an!

Aber Deine Vermutung finde ich trotzdem wahrscheinlch. Ich habe gerade mal bis 500000 Items getestet, das funktionierte noch. Da der nächst größere Datentyp Integer ist, bin ich für Deine Vermutung.

MfG,
Peter

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".