Hola de nuevo Manuel, ayer lo hice a la rapida el codigo y no me he dado cuenta que no funcionaba bien, mejor utiliza un for así si hubiera mas de una palabra clave despues lo vas acumulando.
Código Delphi
[-]
try
Memo1.Lines.Add(Edit1.Text);
Indice := -1;
For i := 0 to sl.Count-1 do
begin
if (Table1.Locate('PALABRA', sl[i],[loCaseInsensitive]) then
begin
Indice := i;
break;
end;
end;
if Indice>=0 then
begin
if (Table2.Locate('NUMERO', Table1.fieldByName('NUMERO').AsString, [loCaseInsensitive])) then
begin
sl.Delete(Indice);
if Indice<>0 then sl.Delete(0);
respuesta := Table2.fieldByName('RESPUESTA').AsString;
Cadena := '';
for i:=0 to sl.Count-1 do
Cadena := Cadena+sl[i];
respuesta :=StringReplace(respuesta,'*',Cadena,[rfIgnorecase,rfReplaceAll]);
Memo1.Lines.Add(respuesta);
end;
Table1.Close;
Table2.Close;
Edit1.Text := '';
end;
finally
end;
Saluditos