Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#47

AW: String in TStringList finden verschnellern?

  Alt 9. Jan 2017, 14:32
Unter Delphi 7 erfolgt das Einfügen von Daten mit dieser Routine:
Delphi-Quellcode:
function TStringList.Add(const S: string): Integer;
begin
  Result := AddObject(S, nil);
end;

function TStringList.AddObject(const S: string; AObject: TObject): Integer;
begin
  if not Sorted then
    Result := FCount
  else
    if Find(S, Result) then
      case Duplicates of
        dupIgnore: Exit;
        dupError: Error(@SDuplicateString, 0);
      end;
  InsertItem(Result, S, AObject);
end;
dupIgnore ist der "Normalfall", d. h.: Beim Auftreten von Dubletten werden diese nicht eingefügt. Die Stringliste hat also einen eindeutigen Inhalt.
Mit dupError kann man sich aber auch 'nen Fehler ausgeben lassen.

Egal welche Wahl man trifft: Sofern Sorted = True, gibt es keine Dubletten in der Stringliste.
  Mit Zitat antworten Zitat