also im Prinzip würde soetwas so gehen:
Delphi-Quellcode:
WordList.LoadFromFile(...);
//Zu kurze / Zu lange Wörter filtern
for i:=WordList.Count-1 downto 0 do
if Length(WordList[i])<>Length(Val) then
WordList.Delete(i);
//Chars in Val aber nicht in Wort
for i:=WordList.Count-1 downto 0 do
for j:=1 to Length(Val) do
if Pos(Val[j],WordList[i])=0 then
begin
WordList.Delete(i);
Break;
end;
//Chars in Wort aber nicht in Val
for i:=WordList.Count-1 downto 0 do
for j:=1 to Length(WordList[i]) do
if Pos(WordList[i][j],Val)=0 then
begin
WordList.Delete(i);
Break;
end;
allerdings würde auch solches gefunden:
SuchWort: ABC
FindWort: AABCC
ich würde eher auf
Permutationen zurückgreifen...
such mal nach 9Live, genau in dem Zusammenhang wurde genau dieses Problem schonmal behandelt soweit ich mich erinnere