AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListBox.Style := lbVirtual...wie kann man da noch sortieren?
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von juergen · begonnen am 5. Sep 2008 · letzter Beitrag vom 5. Sep 2008
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#1

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

  Alt 5. Sep 2008, 01:45
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!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

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

  Alt 5. Sep 2008, 08:20
Moin Jürgen,

ich habe die Demo um eine passende Sortierung erweitert.

Freundliche Grüße
Angehängte Dateien
Dateityp: zip lb-virtual_230.zip (3,1 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#3

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

  Alt 5. Sep 2008, 09:14
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!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

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

  Alt 5. Sep 2008, 09:59
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 20:41 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