Hola cozina,
Una forma de realizar este tipo de busquedas es a traves de expresiones regulares
prueba esta funcion simple, que solo devuelve si existe una determinada palabra completa
Código Delphi
[-]uses System.RegularExpressions;
const
texto:string=
'Bello, hermoso, guapo,lindo, '+
'agraciado;oso, precioso, oso horrendo, '+
'oso,coqueto, feo,horrible, etc.';
function EncontrarPatron(const texto, buscar:String):boolean;
var
RegExp:TRegEx;
MiPatron:string;
begin
MiPatron:='(?msi)(\W|^)'+buscar+'(\W|$)';
RegExp := TRegEx.Create(MiPatron);
result:=RegExp.Match(texto).Success;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if EncontrarPatron(texto, 'oso') then
MessageDlg('cadena encontrada', mtInformation, [mbOK], 0)
else
MessageDlg('cadena no encontrada', mtError, [mbOK], 0);
end;
Espero te pueda servir,
Un Saludo