StringList.SortStyle

Verweis: Stringlisten Stringlist.Sorted Stringlisten.Sort
Uses: Classes
Eingabe: Schalterstellung(TStringsSortStyle)
Ausgabe: nichts
Funktion: gibt an, wann eine Sortierung stattzufinden hat.

Beispiel 1

Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie einen TButton und TMemo auf die Form. Doppelklicken sie auf den Button und ersetzen Sie das Ereignis durch folgenden Quelltext:

procedure TForm1.Button1Click(Sender: TObject);
const
  Farben: array[0..4] of string =
    ('rot', 'grün', 'blau', 'gelb', 'weiß');
var
  Liste: TStringList; //Verknüpfe Variable mit liste
begin
  Liste := TStringList.Create; // Erstelle eine Liste
  // Für den Sortstyle sorted auf true
  liste.Sorted := True;
  // manuelles sortieren
  liste.SortStyle := sslUser;
  // Array hinzufügen
  liste.AddStrings(Farben);
  memo1.Lines := liste;
  ShowMessage('Auch wenn die Liste auf Sorted="True" steht,' + #13#10 +
    'so wird diese trotzdem noch nicht sortiert.');
  // Anweisung zum sortieren
  liste.Sort;
  // Damit wir was sehen, müssen wir die Liste wieder in das
  // Memo übertragen.
  memo1.Lines := liste;
  ShowMessage('Erst jetzt ist die Liste sortiert.');
  //Wie immer Speicher freigeben
  Liste.Free;
end;

Die Eigenschaft TStringList.SortStyle wird verwendet wird verwendet um den Zeitpunkt des Sortierens,zu bestimmen. Dies funktioniert nur wenn die Eigenschaft TStringList.Sorted = True ist. Die Eigenschaft TStringList.SortStyle kann folgende Werte annehmen.

sslNone Der Text soll nicht sortiert werden.
sslUser Der Benutzer bestimmt, wann der Text sortiert wird.
sslAuto Der Text wird bei jeder Änderung am Listen-Index sortiert.

Wie wir dem Beispiel entnehmen können stellen wir nach dem erzeugen der Liste die Eigenschaft Sorted auf true. Denn ohne diesen Befehl ist die Eigenschaft SortedStyle ohne Funktion. Diese Eigenschaft wird nachfolgend auf User gestellt, was hier bedeutet, dass der Benutzer den Zeitpunkt des Sortierens festlegt. Dies geschieht mit dem Befehl Sort. Diese Prozedure löst das Sortierereignis aus. Erst dann wird die Liste sortiert. Dies wir im Beispiel eindrucksvoll gezeigt. Die Funktions-Eigenschaft “sslNone” konnten wir hier nicht nachweisen. es schien als sei Sie außer Kraft gesetzt.