Zitat von
lume96:
...2) Durch den direkten Vergleich mit Pos() werden auch Substrings gefunden,...
Hai Lutz,
das ist durch den einsatz einer zweiten TStringList leich zu umgehen. Dann bleibt "nur noch" das Problem mit dem Delimiter
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
str1 : String;
str2 : String;
sl1 : TStringList;
sl2 : TStringList;
ndx : Integer;
okay : Boolean;
begin
str1 := 'Otto Harfe spielt gern';
str2 := 'Otto spielt gern Harfe am Wochenende';
okay := False;
sl1 := TStringList.Create;
sl2 := TStringList.Create;
try
sl1.Delimiter := ' ';
sl1.DelimitedText := str1;
sl2.Delimiter := ' ';
sl2.DelimitedText := str2;
for ndx := 0 to pred (sl1.Count) do
begin
okay := sl2.IndexOf(sl1.Strings[ndx]) > -1;
if not (okay) then
begin
break;
end;
end;
finally
FreeAndNil (sl1);
FreeAndNil (sl2);
end;
if (okay) then
begin
ShowMessage ('Alle Wörter gefunden');
end
else
begin
ShowMessage ('Nicht alle Wörter gefunden');
end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"