Einzelnen Beitrag anzeigen

Benmik

Registriert seit: 11. Apr 2009
486 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Sortierte TObjectList - Einträge richtig einfügen

  Alt 17. Jul 2015, 19:42
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.

Geändert von Benmik (18. Jul 2015 um 16:51 Uhr) Grund: Kleine Code-Fehlerverbesserung
  Mit Zitat antworten Zitat