Tema: Resumen
Ver Mensaje Individual
  #5  
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
Hola de nuevo Manuel, en tu codigo quedaría mas o menos así.

Código Delphi [-]
var
 sl : TStringList;
 Cadena, respuesta, pregunta : String;
 i : Integer;
begin
 // si no es la tecla que buscamos, salimos y listo ;-)
 if Key <> #13 then Exit;
 // abrimos tablas
 Table1.Open;
 Table2.Open;
 Table3.Open;
 Table4.Open;
 
 sl := TStringList.Create;
 sl.Delimiter := #32;
 sl.DelimitedText := Edit1.Text;
 pregunta := sl[0];
 
 try
  Memo1.Lines.Add(Edit1.Text);
  if (Table1.Locate('palabra', pregunta, [loCaseInsensitive])) and
     (Table2.Locate('NUMERO', Table1.fieldByName('NUMERO').AsString, [loCaseInsensitive])) then
   begin
    sl.Delete(0);
    //Suponiendo que tu campo de la tabla2 se llma respuesta
    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
  else
   If (Table3.Locate('palabra',Edit1.Text,[loCaseInsensitive])) and
    Memo1.Lines.Add('Hasta la próxima')
   else
    Memo1.Lines.Add('No entiendo la frase.Podría explicármelo de otra forma?');
 finally
  Table1.Close;
  Table2.Close;
  Table3.Close;
  Table4.Close;
 end;
end;

Conste que solo es si la primera palabra es la que se esta buscando en la tabla de preguntas, debes analizar para todos los casos que dije, pero como ejemplo y para que veas como funciona te servira.

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