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