[Lazarus-es] alternativa a TFPExpressionParser

Rafael Bidegain r.bidegain en gmail.com
Sab Ago 20 19:19:50 CEST 2016


hola a todos.

Tengo que hacer una utilidad para hacer búsquedas sobre archivos de texto.
El problema es que el usuario necesita buscar algunas veces con 1 condición
otras con dos o tres condiciones. y no siempre sobre el mismo campo.

La solución con TFPExpressionParser no me desagrada, pero estoy buscando
eficiencia ya que intuyo que en no mucho tiempo el usuario me va a pedir
que el proceso se haga automáticamente sobre un grupo de archivos.(ahora
abre un archivo con un TOpendialog, los parámetros de búsqueda se cargan en
un TStringGrid)

cada archivo tiene 40.000 registros.

por el momento los conectores lógicos son todos and y lo resuelvo así
     fparser := TFPExpressionParser.Create(nil);
     identifier1 := fparser.Identifiers.AddIntegerVariable('x1',0);
     identifier1 := fparser.Identifiers.AddIntegerVariable('x2',0);
     fparser.Expression := '';
     if trim(StringGrid1.Cells[1,1]) <> '' then //ctacte
     begin
          fparser.Expression := '(x1=0)';
     end;

          if length(fparser.Expression) > 0 then
             fparser.Expression := fparser.Expression + ' and (x2=0)'
          else
             fparser.Expression := '(x2=0)';

gracias!
-- 
Rafael Bidegain

Ya que los cuerdos no hablan, hablará el loco.
(The Fool, Padraic Pearse)

# yo quiero educación libre. ¡YA!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20160820/13002dd0/attachment.html>


More information about the Lazarus-es mailing list