[Lazarus-es] Parseador de etiquetas

Maxi maximiliano.duarte en gmail.com
Mie Ene 12 19:14:58 CET 2022


impresionante, me solucionaste el tema. Muchas gracias

El mié, 12 ene 2022 a las 6:09, José Mejuto via Lazarus-es (<
lazarus-es en lists.lazarus-ide.org>) escribió:

> El 11/01/2022 a las 21:59, Maxi via Lazarus-es escribió:
> > Existe alguna libreria para parsear algo como esto?
> > Todo lo que está entre <> corresponde a un tag y seguido el valor que le
> > corresponde.
> > Imagino se puede hacer con la synedit o similar pero no encontre como.
>
> Hola,
>
> Versión rápida, habría que controlar errores y eso pero bueno:
>
> function Parse(const aStr: string): TStringList;
> var
>    lGroups: TStringList;
>    lEach: TStringList;
>    j: Integer;
> begin
>    Result:=TStringList.Create;
>    lGroups:=TStringList.Create;
>    lEach:=TStringList.Create;
>    lGroups.Delimiter:='<';
>    lGroups.DelimitedText:=aStr;
>    lEach.Delimiter:='>';
>    for j := 0 to Pred(lGroups.Count) do
>    begin
>      lEach.DelimitedText:=lGroups[j];
>      if lEach.Count=2 then begin
>        Result.Add(lEach[0]+'='+lEach[1]);
>      end;
>    end;
>
>    FreeAndNil(lGroups);
>    FreeAndNil(lEach);
> end;
>
> var
>    gTest: TStringList;
>    j: Integer;
> begin
>    gTest:=Parse(t);
>    for j := 0 to Pred(gTest.Count) do
>    begin
>      writeln(gTest.Names[j],' = ',gTest.ValueFromIndex[j]);
>    end;
> end.
>
> --
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus-es
>


-- 
El que pregunta aprende, y el que contesta aprende a responder.

No a la obsolecencia programada:
http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20220112/842edfd2/attachment.htm>


Más información sobre la lista de distribución Lazarus-es