AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Was ist schneller, StringList oder Combobox?
Thema durchsuchen
Ansicht
Themen-Optionen

Was ist schneller, StringList oder Combobox?

Ein Thema von Code · begonnen am 29. Nov 2007 · letzter Beitrag vom 1. Dez 2007
Antwort Antwort
Code

Registriert seit: 24. Aug 2007
Ort: Bochum
167 Beiträge
 
Delphi 2007 Professional
 
#1

Was ist schneller, StringList oder Combobox?

  Alt 29. Nov 2007, 16:32
Hallo Alle!

Ich möchte in einer Combobox oder in einer Stringliste ca. 3100 Einträge laden, was ist beim durchsuchen schneller?

Gruß
Klaus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Was ist schneller, StringList oder Combobox?

  Alt 29. Nov 2007, 16:34
Die ComboBox verwendet intern eine StringListe
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Was ist schneller, StringList oder Combobox?

  Alt 30. Nov 2007, 06:57
Hallo

Verwendet die ComboBox wirklich intern eine TSTringList ?
Ich dachte, daß dies eine WindowsCore Komponente ist und Delphi nur einen Wrapper aussenrum gelegt hat ?
Peter Schaible
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Was ist schneller, StringList oder Combobox?

  Alt 30. Nov 2007, 07:03
Es ist tatsächlich so, das die ComboBox eine Stringliste verwendet. Aber auch ohne dieses Wissen ist die Frage
einfach zu beantworten. Das die ComboBox eine visuelle Komponente ist, ist sie auch beim Laden etwas langsamer, da sie
ja die Darstellung aktuallisieren muß. Das muß die Stringliste nicht.

Du wirst aber bei 3100 Einträgen kaum einen Unterschied feststellen, dafür ist die Datenmenge für gängige Rechner zu klein.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#5

Re: Was ist schneller, StringList oder Combobox?

  Alt 30. Nov 2007, 08:04
Zitat von Ghostwalker:
...Das die ComboBox eine visuelle Komponente ist, ist sie auch beim Laden etwas langsamer, da sie ja die Darstellung aktuallisieren muß. ...
Das kann man - bekanntermassen - optimieren, in dem vor dem Laden .Items.BeginUpdate und entsprechend nach dem Laden .Items.EndUpdate gesetzt wird

Aber das war eigentlich nicht die Ausgangsfrage... Da ja die ComboBox intern 'ne StringList ist, dürfte das reine Durchsuchen genauso schnell/langsam sein wie eine entsprechende 'normale' StringList...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Was ist schneller, StringList oder Combobox?

  Alt 30. Nov 2007, 08:10
@Ghostwalker: Bei mir verwendet die Combobox keine TStringList intern. Das kann man auch rausfinden in dem man mal schaut ob Items (TStrings) vom Typ TStringList ist. Bei der Combobox wird ein TStrings-Nachfahre genutzt der die Items direkt auf die Windows-Combobox anwendet (also nix mit doppelter Datenhaltung)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#7

Re: Was ist schneller, StringList oder Combobox?

  Alt 1. Dez 2007, 01:32
Es ist schneller, wenn man die Einträge selbst verwaltet. Die Strings müssen ja zuerst zur Windows ComboBox kopiert werden. Es gibt also alles doppelt.
Am schnellsten geht es daher, wenn man eine OwnerData ComboBox verwendet. Ich glaube, es müsste so für ComboBox heißen. Für ListView ist es so zumindest definiert. Es sendet immer eine Nachricht, wenn ein String eines Items notwendig ist.
Die ListView von Mike ist ja genauso aufgebaut.

Müsste doch auch für ComboBox gehen. Sonst eben OwnerDraw.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  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 03:02 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