StringList.CaseSensitive

Verweis: Stringlisten Stringlist.IndexOf StringList.Find
Uses: Classes
Eingabe: Groß-Klein(boolean)
Ausgabe: nichts
Funktion: Ein Schalter um nach Groß- Kleinschreibung zu unterscheiden oder auch nicht.

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
  Index: integer; //Wo gefunden
begin
  Liste := TStringList.Create; // Erstelle eine Liste
  // für find sorted auf true stellen
  liste.Sorted := True;
  // Array hinzufügen
  liste.AddStrings(Farben);
  memo1.Lines := liste;
  //Wenn du den Text findest dann
  if liste.Find('GRÜN', index) then
    ShowMessage('Ich haben den Text an der ' +
      IntToStr(Index) + '. Position gefunden.' + #13#10 +
      'Denn "Default" ist "CaseSensitive = False"')
  else
    ShowMessage('Ich habe keinen passenden Text gefunden.');
  // Nach dem einschalten---
  liste.CaseSensitive := True;
  //Ein anderes Ergebnis
  if liste.Find('GRÜN', index) then
    ShowMessage('Ich haben den Text an der ' +
      IntToStr(Index) + '. Position gefunden.' + #13#10 +
      'Denn default ist "CaseSensitive = False"')
  else
    ShowMessage('Ich habe keinen passenden Text gefunden.');
  Liste.Free;
end;

Die Eigenschaft “CaseSensitive” beeinflusst “IndexOf” , “Find” , “IndexOfName” und sogar die Funktion “Sorted“. Hierbei wird, wenn der Schalter ausgeschaltet ist, also auf “false” steht, die Groß – und Kleinschreibung ignoriert und die angegeben Wörter zum vergleichen oder zum sortieren gleich behandelt. Wenn die Liste erstellt wird ist der Schalter standardmäßig auf aus. In dem Beispiel wird also nach dem erstellen der Liste der Schalter nicht auf “false” gestellt da sich dieser ja bereits auf aus befindet. Bei der ersten Message wird also angezeigt, dass “GRÜN” gefunden wurde. Beim 2. Teil des Programms ist der Quelltext mit dem ersten identisch, nur ist der Schalter für CaseSensitive nun auf ein geschaltet. Was das Programm nun dazu veranlasst den Text nicht zu finden.