Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '

  Alt 13. Sep 2007, 07:24
Zitat von Nuclear-Ping:
Richtig cool wäre es, wenn du aufhören würdest, Programmieren zu wollen und man dich nie mehr irgendwo in nem Forum sehen würde
@taktaky: Bitte verzeih ihm dieses Äußerung - wahrscheinlich musste er grad mitten im Programmieren Windows neu starten.

Zum Thema:
Mit dem Stückchen Code WebBrowser1.OleObject.Document.Body bist du der Lösung schon relativ nahe. Jetzt brauchst du nur noch folgendes Wissen:
Wie du sicherlich schon weißt, besteht ein HTML(XML)-Dokument hauptsächlich aus Eltern-Kind-Beziehungen. Diese werden auch in den Objekten (besser gesagt Interfaces) der TWebbrowser-Komponente abgebildet.
Im Klartext sieht könntest du das so nutzen (unit "mshtml" einbinden):
Delphi-Quellcode:
var
 Element : IHTMLElement;
 Children : IHTML
 idx : Integer;
begin
  Element:=WebBrowser1.OleObject.Document.Body as IHTMLElement;
  Children:=Element.Children as IHTMLElementCollection;

  for idx:=0 to Children.length-1 do
  begin
    Element:=Children.Item(idx, idx);
    //jetzt kannst du auf die Kind-Elemente zugreifen und z.B. Element.tagName prüfen
  end;
end;
Auf diese Weise könntest du bis zu dem Element navigieren, das du ändern möchtest. Wenn du es dann gefunden hast, kannst du Element.innerHTML neu beschreiben.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat