![]() |
Einfache array sortier routine
Welche Sortier Routine könnte man nutzen um ein Array
mit einträgen in der ComboBox zu vergleichen und zu sortieren. Mein problem habe die ComboBox auf Sort = true gestellt jetzt stimmen logischerweise die Arrays zu den Einträgen nicht mehr. Jemand ein kleines Beispiel ? EDIT: Oder stellt die ComboBox etwas ähliches wie in VB zur verfügung?
Delphi-Quellcode:
Leider habe ich da nichts gefunden.
Combo1.ItemData(Combo1.NewIndex)
gruß |
Re: Einfache array sortier routine
Auch schon so früh Unterweges? :mrgreen:
Du könntest mit ![]() |
Re: Einfache array sortier routine
Zitat:
Kann dann ein anderer machen :zwinker: gruß |
Re: Einfache array sortier routine
Welchen Quellcode hochgeladen?
Meinst du das? ![]() Das mußt Du aber auch dazu sagen :wink: |
Re: Einfache array sortier routine
Zitat:
greets |
Re: Einfache array sortier routine
Zitat:
eigentlich solltest du eher nach ![]() Was das Problem ganz allgemein angeht, so kennt Delphi einen recht schönen Weg. Eine ComboBox greift auf ein TStrings-Objekt zurück, dieses Objekt verwaltet dabei eine Liste von Strings. Zu jedem Eintrag (String) kann eine Referenz auf ein beliebiges Objekt (hier wirklich Instanz einer Klasse) übergeben werden. Ein Array ist somit nicht nötig. Diese Zuordnung (String, Objekt) bleibt auch beim Sortieren erhalten. Genau genommen wird auch nur das TStrings-objekt sortiert. Dieser Ansatz ist übrigens ein sehr Objekt-Orientierter, da das TStrings-Objekt all diese Eigenschaften schön kapselt und wiederverwendet werden kann (und wird, u.A. in der TListView), aber auch dir zur Verfügung steht (TStringList, THashedStringList, eigene Nachfahren der abstrakten Klasse TStrings). Gruß Der Unwissende |
Re: Einfache array sortier routine
Zitat:
kenne mich mit dem TStrings-Object nicht aus muss mich also erst mal schlau machen. Denke aber mal das diese zur selben zeit gefüllt werden muss sobald die einträge der Combo hinzugefügt werden. gruß |
Re: Einfache array sortier routine
Zitat:
Wenn du also der Combobox einen Eintrag hinzufügst, dann passiert (für dich transparent) nichts anderes, als dass dieser String in ein TStrings-Objekt abgelegt wird. Wie gesagt, für dich ist das zwar transparent, aber du hast auch die Möglichkeit direkt auf dieses TStrings-Objekt zuzugreifen. Diese Möglichkeit kannst du dann dazu nutzen, eine Referenz mit einem String zu verknüpfen (eine Verknüpfung, die dann immer aufrecht erhalten wird, auch beim Vertauschen einzelner Elemente in dem TStrings-Objekt). Wenn du also sagst, dass das TStrings-Objekt zur selben Zeit wie die Combobox gefüllt werden muss, hast du natürlich recht, aber das ist eh die Aufgabe der Combobox, dafür zu sorgen. Diese verwaltet (komfortabler Weise) für dich ein eigenes TStrings Objekt. Nicht dass es falsch rüberkam und du denkst/dachtest, dass du zusätzlich ein TStrings-Objekt neben der Combobox bemühen solltest. Gruß Der Unwissende |
Re: Einfache array sortier routine
Zitat:
gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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-2025 by Thomas Breitkreuz