Autor Beitrag
arnydaniel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 80

hoffentlich bald Linux
Delphi 6
BeitragVerfasst: Di 07.06.05 14:32 
Hi,

wie kann ich eine TStringList absdteigend sortieren?
Hab schon rausgekriegt, dass man dazu customsort verwenden kann, mit welchem man dann noch eine funktion aufrufen muss.
Wie genau das gehen soll raff ich aber nicht.
Könntet ihr vielleicht sogar mal schnell den entsprechenen Codeausschnitt posten?

Danke

_________________
Wenn jeder nur an sich denkt, wird an jeden gedacht.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 07.06.05 14:53 
Moin!

Wenn du die StringList nicht im Ganzen irgendwohin zuweisen willst, dann sortier das Ding normal und geh von hinten durch die Liste. :wink:

Ansonsten steht doch in der OH alles, was man wissen muss.

cu
Narses
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Di 07.06.05 15:23 
Hallo,

sofern Du die Methode CustomSort nutzen willst, musst Du folgendermassen vorgehen:

Implementation einer Callbackroutine, die die Liste - wie gewünscht - sortiert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
function MySortAbsteigend(aListe:TStringList; Index1, Index2:Integer):Integer;
begin
  Result:=CompareStr(aListe.Strings[Index1], aListe.Strings[Index2]);
  // da die Liste absteigend sortiert werden soll, einfach Result umdrehen
  Result:=-Result
end// MySortAbsteigend


Aufgerufen wird die Sortierroutine dann wie folgt:
ausblenden Delphi-Quelltext
1:
2:
3:
...
MyStringList.CustomSort(@MySortAbsteigend);
..

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)