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