![]() |
Ein Wort in WebBrowser ändern : webbrowser1.items(6):= 'Hi'
Ich habe auch auf Form einen WebBrowser1
Quelltext in Webbrowser1:
Delphi-Quellcode:
Die html ist natürlich ein Teil vom Programm und nicht eine externe Datei in Web :mrgreen:
<html>
<head> <title>test</title> </head> <body> <font size="7"> Hallo1</font></p> </body> </html> Ich habe versucht die Zeille 6 im Code das Wort hallo1 mit hallo2 so zu ersetzen:
Delphi-Quellcode:
Hat jemand eine Idee?
procedure TForm1.Button1Click(Sender: TObject);
begin webbrowser1.items(6):= 'Hallo2</font></p>';// hat leider nicht funktioniert !!! end; end |
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
"Hat leider nicht funktioniert...", diese Fehlermeldung hab ich als Hotliner am Liebsten :stupid: Was sagt denn der Compiler? Was steht auf dem Bildschirm (nun sag nicht: "Eine Blumenvase")?
|
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
Der Befehl existiert überhaupt nicht in Delphi :mrgreen: :mrgreen:
Der Delphi sagt : undeclared 'Items' !!! also um einen Wert in WebBrowser zu ändern mache ich so :
Delphi-Quellcode:
Aber diesmal will ich nicht ein Wort sondern eine Zeile in Code ersetzen :gruebel:
WebBrowser1.OleObject.document.forms.item(0).elements.item('GesuchtesWort').value:='GewunschtesWort;
|
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
Da ich den TWebBrowser nie benutzt habe, kann ich auch nur mutmaßen, aber ich denke, Du versuchst an der völlig falschen Stelle, Deine Änderungen anzubringen. Und zwar müssen vermutlich diese Änderungen an der Datenquelle (also der HTML-Datei) und nicht am Ausgabemedium (dem Browser) vorgenommen werden.
|
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
Ja, der Code oben, kann nur die Webbrowser-Oberfläche zugreifen und ändern und nicht den html-Code
Und das was ich mit google gejagt :
Delphi-Quellcode:
:mrgreen:
// Beim Einsatz der TWebBrowser-Komponente kann man natürlich auch auf
//den HTML-Quellcode der angezeigten Seite zugreifen: var htmlcode: string; begin htmlcode:=WebBrowser1.OleObject.Document.Body.InnerHtml; Ich werde versuchen |
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
Leider hilft der Code nicht viel
|
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
Warum nicht? Pushen innerhalb von 30 Minuten :roll:
|
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
Was schlägst Du vor? :mrgreen:
|
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
[OT]
Zitat:
Wenn man mal so schaut, stellst du - sorry für die Direktheit - nur richtig strohdoofe Fragen, aber ich hab in KEINEM Forum gesehen, dass du auch nur irgendwem einmal richtig konstruktiv geholfen hast. [/OT] |
Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
Zitat:
Zum Thema: Mit dem Stückchen Code
Delphi-Quellcode:
bist du der Lösung schon relativ nahe. Jetzt brauchst du nur noch folgendes Wissen:
WebBrowser1.OleObject.Document.Body
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:
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.
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 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 by Thomas Breitkreuz