[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