Prüfen, ob ein Eintrag in TStrings schon vorhanden ist
Folgende Funktion prüft, ob ein String in einer von TStrings abgeleiteten Instanz (wie z.B. TStringlist) vorkommt.
function FindDoublette(const AStrings: TStrings; const AText: String; CaseFlag: Boolean=False): Integer; var I, C: Integer; begin Result := AStrings.IndexOf(AText); if CaseFlag then begin C := Result; Result:=-1; for I:=C to AStrings.Count-1 do if AText=AStrings[I] then begin Result:=I; Break; end; end; end;
Dem ersten Parameter muss die Stringliste übergeben werden. Dies können eine TStringlist oder auch die Items einer Listbox sein. Dem zweiten Parameter wird der zu vergleichende Text übergeben. Soll auf Groß/Kleinschreibung geachtet werden, kann der dritte, optionale Parameter auf True gesetzt werden.Die Funktion gibt die Position, beginnend bei 0, des ersten Vorkommens zurück. Wurde keine Entsprechung gefunden hat Result den Wert -1.Die Klasse TStringList enthält zusätzlich die Eigenschaft Duplicates. Sie legt fest, wie sich die Liste verhalten soll, falls eine Dublette hinzugefügt wird. Sie greift nur, wenn die Liste sortiert ist (Eigenschaft Sorted:=True). Weitere Informationen finden Sie in der Onlinehilfe unter dem Stichwort „TStringList,Duplicates“.