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!
