Oh je, es handelt sich also um
Alarmpheromone.
Ich hab mich jetzt zu Folgendem entschlossen:
Delphi-Quellcode:
function TZielListe.FindeWert(const Wert:string;var P:Integer):Boolean;
var L:TZiel;
begin
L := TZiel.Create;
L.Wert := Wert;
p := -1;
try
Result := BinarySearch(L, p, TComparer<TZiel>.Construct(
function (const L, R: TZiel): Integer
begin
Result := AnsiCompareText(L.Wert,R.Wert);
end));
Finally
L.Free;
end;
end;
function TZielListe.AddSorted(const Ziel: TZiel): Boolean;
var P: Integer;
begin
Result := Assigned(Ziel) and (Ziel.Wert <> '');
If Result then
begin
FindeWert(Ziel.Wert,p);
Result := (p > -1);
If Result then
Self.Insert(p,Ziel);
end;
end;
Jetzt hoffe ich mal, von den
AV verschont zu bleiben.