Einzelnen Beitrag anzeigen

MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

StringList CustomSort

  Alt 10. Sep 2018, 19:44
Delphi-Version: 10.2 Tokyo
Hallo,

ich habe eine StringList und mit AddObject füge ich ein "Array Of Record" den Items hinzu.
Das geht alles.

Bei manchen Aktionen wird umsortiert, mittels CustomSort. Dabei soll das erste Item samt Object nicht immer umsortiert werden und bei Index 0 bleiben.
Kann man da irgendwie die CustomSort erweitern?
So schaut meine aus:
Code:
Function Sort1(List: TStringList; Index1, Index2: Integer): Integer;
Begin
 Result := 0;
 If Assigned(List) Then
 Begin
  If TMStringList(List).SortUp = 0
  Then Result := -AnsiCompareText(List[Index1],List[Index2])
  Else Result := AnsiCompareText(List[Index1],List[Index2])
 End;
End;
Man könnte auch nach dem sortieren die zuvor Index 0 (die vielleicht nach dem sortieren auf Index 12 steht <- als Beispiel) wieder auf Index 0 verschieben. Aber so etwas wie MoveObject habe ich nicht gefunden. Mit InsertObject kann ich ein Eintrag leicht auf Index 0 einfügen. Das wäre Möglich. Fragt sich dann nur, wie ich (um das Beispiel zu nehmen) Index 12 erst mal herauskopiere, lösche und dann die kopierten Daten wieder einfüge.

Experten kennen bestimmt ne leichte Lösung.

InsertObject nutze ich schon für etwas anderes. Das schaut bei mir so aus.
Code:
MeineStringListe.InsertObject(0,TRecordDaten[12].Text ,@TRecordDaten[12]);
Gruß
Michael
  Mit Zitat antworten Zitat