Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einträge einer Listbox nach eigenen Kriterien sortieren? (https://www.delphipraxis.net/65621-eintraege-einer-listbox-nach-eigenen-kriterien-sortieren.html)

PeterPanino 18. Mär 2006 23:29


Einträge einer Listbox nach eigenen Kriterien sortieren?
 
Ich möchte die Einträge einer Listbox nach eigenen Kriterien sortieren. Wie geht das? (Dabei soll natürlich die Zuordnung von Objekten zu den jeweiligen ListBox-Einträgen erhalten bleiben).

3_of_8 18. Mär 2006 23:47

Re: Einträge einer Listbox nach eigenen Kriterien sortieren?
 
Schreib dir halt ne BubbleSort, siehe hier: http://dsdt.info/tipps/?id=369

Einfach die Bedingung und die Austauschsequenz leicht modifizieren, dann passt das.

Mavarik 23. Mär 2006 08:17

Re: Einträge einer Listbox nach eigenen Kriterien sortieren?
 
Zitat:

Zitat von PeterPanino
Ich möchte die Einträge einer Listbox nach eigenen Kriterien sortieren. Wie geht das? (Dabei soll natürlich die Zuordnung von Objekten zu den jeweiligen ListBox-Einträgen erhalten bleiben).

Nimm einen Quicksort...

Vielleicht einfach mit meiner Komponente...

Delphi-Quellcode:
function TMainform.QSortOOP1GetKey(Sender: TObject; Index: Integer): string;
begin
  Result := Listbox1.Items[Index];

  // hier kannst Du entscheiden, wie die Sortierung laufen soll

  while length(Result) < 7 do
    Result := ' '+Result;
end;

function TMainform.QSortOOP1Tausche(Sender: TObject; A, B: Integer): string;
var
  Help : String;
begin
  Help := ListBox1.Items[A];
  ListBox1.Items[A] := Listbox1.Items[B];
  ListBox1.Items[B] := Help;
  Application.ProcessMessages; // "nur" zum zuschauen...
end;

procedure TMainform.Button1Click(Sender: TObject);
begin
  QSortOOP1.Sort(0,Listbox1.Items.Count-1);
end;
Frank :coder:


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