Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListBox.Style := lbVirtual...wie kann man da noch sortieren? (https://www.delphipraxis.net/120065-listbox-style-%3D-lbvirtual-wie-kann-man-da-noch-sortieren.html)

juergen 5. Sep 2008 00:45


ListBox.Style := lbVirtual...wie kann man da noch sortieren?
 
Hallo zusammen,

ich habe nun festgestellt, dass sich eine ListBox, welche sich im virtuellen-Modus befindet, anscheinend nicht so ohne weiteres sortieren lässt.
Ich nutze diesen Modus, weil ich mir über das Event OnData nur die Dateinamen anzeigen lasse, OHNE den Dateipfad.
Die "echten" Listbox-Einträge haben den Pfadnamen + Dateinamen.
Zur Anzeige nur der Dateinamen wird eben der virtuelle Modus benötigt.
An anderer Stelle benötige ich auch die Dateipfade, so dass diese Lösung mit nur einer Listbox schon ganz gut ist.

Nun will ich das ganze aber sortieren...
Dazu "schaufele" ich mir die Daten aus der Listbox in eine neue TStringList,
nehme dann die Sortierung vor und kopiere dann diesen neuen Inhalt wieder in die ListBox zurück.
Das funktioniert, nützt mir nur nichts, weil in der TStringList ja die Daten mit dem Dateipfad sind, also die "echten" ListBox-Einträge...
Und diese Sortierung nutzt mir nichts, ich bräuchte die Sortierung nach Dateiname.

Da habe ich im Moment überhaupt keine Idee mehr wie man sowas anstellen könnte.

Hat dazu jemand einen Tipp?

Vielen Dank schon mal vorab und
Gute N8!

marabu 5. Sep 2008 07:20

Re: ListBox.Style := lbVirtual...wie kann man da noch sortie
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin Jürgen,

ich habe die Demo um eine passende Sortierung erweitert.

Freundliche Grüße

juergen 5. Sep 2008 08:14

Re: ListBox.Style := lbVirtual...wie kann man da noch sortie
 
Hallo Achim,

wieder mal heißen Dank für deine Unterstützung!
Ich muss mir das heute Abend genauer anschauen, insbesondere die mir völlig unbekannte Zuweisung der Funktion mit "@"
Files.CustomSort(@CompareFileName)

Einen schönen Tag!

SirThornberry 5. Sep 2008 08:59

Re: ListBox.Style := lbVirtual...wie kann man da noch sortie
 
Bei diesem Style ist sortieren durch die Listbox auch gar nicht gewollt. Denn diesen Style verwendet man in aller Regel wenn man große Datenmengen hat und diese von dem Visuellen Teil trennt (also nicht direkt in die Listbox packt). Die ist auch generell die Empfehlung damit man die Oberfläche einfach ändern kann ohne die Logic dabei mit ändern zu müssen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 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