Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi AtagParser und Text zwischen zwei Tags (https://www.delphipraxis.net/82519-atagparser-und-text-zwischen-zwei-tags.html)

ozz 14. Dez 2006 23:11


AtagParser und Text zwischen zwei Tags
 
Hallo ich habe ein Frage zum Parser AtagParser (http://www.compnet101.com/atagparser/)
angenommen ich würde
HALLO1
HALLO2

mit der nachfolgenden Funktion parsen, werden alle Elemente in je eine Spalte aufgetrennt.
Dummerweise bekomme ich immer ein Offset rein, weil ich Tag.PreviousText verwende.
Es würde also "TEST2.com" der Text "HALLO1" zugeordnet. Es gibt noch eine anderen Ansatz über das onText event, aber da kann ich den aktuellen Tag nicht feststellen. Hat jemand eine Idee?


Vielen Dank

Delphi-Quellcode:
procedure TForm1.ATagParser1Tag(Sender: TObject; Tag: TTagElement;
  var Abort: Boolean);  
begin;
  Case FindTagID(Tag.Hash) Of
      TID_A    :
               begin;
                 If Tag.ElementType In [etComplexTag, etSimpleTag] Then
                 begin;
                    ListView1.Items.Add;
                    ListView1.Items.Item[ListView1.Items.Count-1].Caption:=Tag.Tag;
                 
                    url:=Tag.Attributes.Values['href'];
                    ListView1.Items.Item[ListView1.Items.Count-1].SubItems.Add(url);
                end
                else
                  if Tag.ElementType In [etEndTag] then
                  ListView1.Items.Item[ListView1.Items.Count-1].SubItems.Add(Tag.PreviousText);
                end;
end.

ozz 28. Dez 2006 08:51

Re: AtagParser und Text zwischen zwei Tags
 
Der Parser stellt ein Event zur Verfügung. Dieser ist in der Doku falsch benannt. Richtig heißt er "onText". Damit funktioniert es dann auch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz