Tema: Resumen
Ver Mensaje Individual
  #7  
Antiguo 24-09-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Cita:
Empezado por Abuelo7 Ver Mensaje
Mi idea es si no encuentra la frase exacta, separar las palabras de la frase y buscar dichas palabras una por una, buscando la palabra clave.
Para esta parte podrías hacer algo así:

Código Delphi [-]
 .......................
 sl := TStringList.Create;
 sl.Delimiter := #32;
 sl.DelimitedText := Edit1.Text;
 //Añadimos el contenido completo del Edit en nuestra primera posición
 // del StringList para que sea el primero en compararse
 sl.Insert(0,Edit1.Text);

 try
  Memo1.Lines.Add(Edit1.Text);
  indice := -1;
  Recorremos hasta que encuentre
  Repeat
   Inc(Indice);   
  Until Not (Table1.Locate('palabra', sl[Indice], [loCaseInsensitive])) and (Indice//

   if Indice>=0 then //si fuera -1 es porque no ha encontrado
   begin
    if (Table2.Locate('NUMERO', Table1.fieldByName('NUMERO').AsString, [loCaseInsensitive])) then
     begin
      sl.Delete(Indice); //borramos la palabra clave de sl
      respuesta := Table2.fieldByName('RESPUESTA').AsString;
      
      Cadena := '';
      for i:=0 to sl.Count-1 do
       Cadena := Cadena+sl[i];
      respuesta := StringReplace(respuesta,'*',Cadena,[rfIgnorecase,rfReplaceAll]);
      showmessage(respuesta);
     end;
   end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita