Announcement

Collapse
No announcement yet.

Über OLE/COM die TAGS einer HTML-Datei auswerten...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Über OLE/COM die TAGS einer HTML-Datei auswerten...

    Hallo,

    Ich habe die Aufgabe, eine HTML-Datei zu analysieren. Es geht darum die einzenlen TAGS (a href, object, img, embed) auszuwerten und die entsprechenden Ressourcen dazu (Bilder, etc) zu einer HTML-Datei abszuspeichern. Ich denke es gibt die Möglichkeit den Save As Dialog des Internetexplorers zu verwenden, aber das reicht nicht weil die Ressourcen in einer anderen Verzeichnisstruktur abgelegt werden sollen, als der Internetexplorer es macht. Zudem sollen auch Links auf andere Sites in einer Datenbank gespeichert werden.

    Ich habe auch keine Lust den ganzen HTML-Code zu parsen, wenn es doch irgendwo im Internetexplorer Funktionen gibt, die mir die Arbeit abnehmen.
    Also für eure Hilfe, wie man das realisieren kann wäre ich echt dankbar.

    ciao Elerian

  • #2
    Hallo,

    das folgende Beispiel zeigt, wie man durch die Automation des Internet Explorers (hier über TWebBrowser) alle Links einer HTML-Seite ermitteln kann:
    <pre>
    uses ActiveX, MSHTML_TLB;

    { TWebBrowser benötigt einige Zeit, um das Document-Objekt zu
    initialisieren. }

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    WebBrowser1.Navigate('http://www.entwickler-forum.de');
    end;

    { Aufgabe 1: Alle Links der aufgerufenen Seite ermitteln }

    procedure TForm1.ToolButtonLinksClick(Sender: TObject);
    var
    aHTMLDoc : IHTMLDocument2;
    iCount : Integer;
    aHTMLLink : IHTMLElement;
    begin
    if not VarIsEmpty(WebBrowser1.Document) then
    begin
    aHTMLDoc := WebBrowser1.Document as IHTMlDocument2;
    for iCount := 0 to aHTMLDoc.Links.Length - 1 do
    begin
    aHTMLLink := aHTMLDoc.Links.Item(iCount, 0) as IHTMLElement;
    Memo1.Lines.Append(aHTMLLink.ToString);
    end;
    end;
    end;
    </pre>
    Über die IHTMlDocument2-Eigenschaft <b>images</b> steht das IHTMLElementCollection-Interface zur Verfügung, um die Sammlung aller eingebundenen Grafiken auslesen zu können. In der Hilfedatei aus dem <i>Microsoft Platform SDK</i> oder auf der DVD der <i>MSDN Library</i> ist die umfassende Dokumentation über die weiteren Methoden und Eigenschaften des IHTMlDocument2-Interfaces des Explorers zu finden

    Comment


    • #3
      was ist IHTMLDocument2 ? gruss hors

      Comment


      • #4
        Hallo,

        &gt; was ist IHTMLDocument2 ?

        eines der <b>Interfaces</b> der COM-Objekte des Microsoft Internet Explorer. Ein in binärer Form vorliegendes COM-Objekt stellt über seine Interfaces eine Programmierschnittstelle für fremde Anwendungen bereit. Und da die COM-Objekte des Internet Explorer extrem leistungsfähig sind, hat Microsoft die unzähligen Funktionen auf verschiedene Interfaces aufgeteilt. Wenn das eigene Programm den IE "fernbedienen" will, muss es das jeweils benötigte Interface anfordern (was Delphi hinter den Kulissen bei der <b>as</b>-Typumwandlung automatisch macht)

        Comment


        • #5
          danke...

          Comment

          Working...
          X