Einzelnen Beitrag anzeigen

SaschaM

Registriert seit: 7. Okt 2004
Ort: Wien
5 Beiträge
 
#28

Re: Prüfen ob Wörter in einem String vorkommen, Reihenfolge

  Alt 7. Okt 2004, 23:11
es geht aber auch ohne schleife: TStringlist kann beim Hinzufügen von Duplikaten mit einem Fehler reagieren; vorallem ist das optimierter, da sortiere Stringlisten Quicksort verwendet.(vorallem wenn beide Listen lang sind!!) Ich habe das auch mal gebraucht, habe das dann so gelöst:


Delphi-Quellcode:
function IstVorhanden(CommaText1, Commatext2 : String; DelimiterChar: String) : Boolean;
var
  tstr1, tstr2 : TStringList;

begin
   tstr1 := TStringList.Create();
   tstr2 := TStringList.Create();

   try
     with tstr1 do begin
       Sorted := True; // ! wichtig, sonst geht das ganze nicht
       Duplicates := dupIgnore;
       Delimiter := DelimiterChar;
       DelimitedText := CommaText1;
     end;

     with tstr2 do begin
       Sorted := True; // ! wichtig, sonst geht das ganze nicht
       Duplicates := dupIgnore;
       Delimiter := DelimiterChar;
       DelimitedText := CommaText2;
     end;

     with tstr1 do begin
      Duplicates := dupError;
       try
         AddStrings(tstr2);
         Result := False;
       except
         Result := True;
       end;
     end;
   finally
     tstr1.Free;
     tstr2.Free;
   end;
end;
[edit=Luckie][ delphi]-Tags eingefügt. Beim nächsten mal bitte selber machen. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat