Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ein Wort in WebBrowser ändern : webbrowser1.items(6):= 'Hi' (https://www.delphipraxis.net/99479-ein-wort-webbrowser-aendern-webbrowser1-items-6-%3D-hi.html)

taktaky 12. Sep 2007 19:44


Ein Wort in WebBrowser ändern : webbrowser1.items(6):= 'Hi'
 
Ich habe auch auf Form einen WebBrowser1

Quelltext in Webbrowser1:
Delphi-Quellcode:
<html>
<head>
<title>test</title>
</head>
<body>


<font size="7">
Hallo1</font></p>
</body>
</html>
Die html ist natürlich ein Teil vom Programm und nicht eine externe Datei in Web :mrgreen:

Ich habe versucht die Zeille 6 im Code das Wort hallo1 mit hallo2 so zu ersetzen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
webbrowser1.items(6):= 'Hallo2</font></p>';// hat leider nicht funktioniert !!!
end;
end
Hat jemand eine Idee?

DeddyH 12. Sep 2007 19:57

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")?

taktaky 12. Sep 2007 20:02

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:
WebBrowser1.OleObject.document.forms.item(0).elements.item('GesuchtesWort').value:='GewunschtesWort;
Aber diesmal will ich nicht ein Wort sondern eine Zeile in Code ersetzen :gruebel:

DeddyH 12. Sep 2007 20:12

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.

taktaky 12. Sep 2007 21:05

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:
// 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;
:mrgreen:

Ich werde versuchen

taktaky 12. Sep 2007 21:37

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
Leider hilft der Code nicht viel

Zacherl 12. Sep 2007 21:40

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
Warum nicht? Pushen innerhalb von 30 Minuten :roll:

taktaky 12. Sep 2007 23:32

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
Was schlägst Du vor? :mrgreen:

Nuclear-Ping 13. Sep 2007 06:02

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

Was schlägst Du vor? :mrgreen:
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 - und selbst wenn dann hauptsächlich auf der Helferseite.

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]

chaosben 13. Sep 2007 06:24

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

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
Delphi-Quellcode:
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.

Nuclear-Ping 13. Sep 2007 06:40

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
[OT]
Ben, www.google.de -> Taktaky

Lesen, sich wundern, mit dem Kopf schütteln ...
[/OT]

chaosben 13. Sep 2007 07:18

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
Ok, dann verzeih mir bitte, das ich zu wenig Vertrauen in deine Einschätzung der Lage hatte. :-/

Nuclear-Ping 13. Sep 2007 07:31

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
[OT]
Ich versuche echt, ihn seit seinem Auftreten im Delphi-Forum bei Spotlight.de zu ignorieren und mir es egal sein zu lassen, was er so versucht. Anfangs hab ich ihm ja auch geholfen wo ich konnte, weil ich mir dachte "Ok, Programmieranfänger, wird schon".

Aber als er dann anfing zu meinen, er hat 5 Delphi-Bücher und davon schon 2 gelesen, die aber alle irgendwie nichts getaugt haben ...
- http://spotlight.de/zforen/dlp/m/dlp...022-10662.html
- http://spotlight.de/zforen/dlp/m/dlp...383-22410.html
- http://spotlight.de/zforen/dlp/m/dlp...295-27846.html
... hab ich mich doch schon sehr gewundert.

Seit Monaten stellt er immer wieder die gleichen Fragen, kopiert sich einfach Code quer durchs Internet, kriegt das nicht richtig hin und lässt sich Syntaxfehler von Foren-Communities korrigieren, "Was macht dieser Code?"-Fragen, das härteste bisher der Versuch, nen disassemblierten Code eines Programms in Delphi zurückübersetzen lassen (um daraus wahrscheinlich ein paar Funktionen zu kopieren - denn nen Lerneffekt bzw. Lernfortschritt konnte man bei ihm bisher nicht feststellen) usw.

Ich finde das nervt einfach. Er melkt Communities solange, bis sich keiner mehr findet, der ihm Code-Schnippsel auf nem Silberteller serviert, er keine Antworten mehr bekommt und dann zieht er weiter. :wall:

Achja, um noch hinzuzufügen: Ich hab in der ganzen Zeit seines Auftretens in verschiedenen Foren noch nicht EINEN Beitrag gesehen, wo er jemandem geholfen hat.
[/OT]

DeddyH 13. Sep 2007 07:33

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
[OT] ACK [/OT]

taktaky 13. Sep 2007 09:09

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

Zitat von DeddyH
[OT] ACK [/OT]

Du DeddyH und Nuclear-Ping viel Spass beim Suchen nach Taktaky :mrgreen:
Aber so Kritik macht man das Forum kuppt, wenn Du nicht helfen willst, dann einfach ignorieren. Mit deinem Schreiben, versuchst Du die Leute anzustecken. @chaosben ist schon einer :mrgreen:

Nuclear-Ping 13. Sep 2007 15:48

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
Ich denke eher andersrum: Leute wie DU machen das Forum kaputt.

Du scheinst dir da echt kein Kopf drum zu machen, über Monate hinweg in allen möglichen Foren die dümmsten Fragen zu stellen und nichtmal, nachdem man dir alles zum 10. mal vorgekaut hat, in der Lage zu sein, das nächste "Problem" selbständig zu lösen.

Du scheinst dir auch kein Ding draus zu machen, dass du hier und woanders immer mehr und mehr von den Mitgliedern der ganzen Communities verarscht, scharf angemacht oder gar ins lächerliche gezogen wirst.

Dir scheint es auch egal zu sein, wenn man in aller Form der Höflichkeit und Sachlichkeit versucht, auf deinen Misstand aufmerksam zu machen, das überliest du einfach (weil du's wahrscheinlich nicht hören / wissen willst - Selbsterkenntnis kann in dem Falle sicher sehr weh tun).

Dir gehts nur darum, einen gutmütigen naiven Menschen zu finden, der dir deine Code-Schnippsel liefert, ja am besten die ganzen Programme komplett für dich schreibt und dann unter "About" auch noch "Copyright (c) Taktaky" steht.

Und ja, ich versuche Leute bewusst "anzustecken", nämlich damit sie erkennen, dass ihre Arbeit, um dir helfen zu wollen, vergebene Liebesmüh ist, da du eh nur "nehmen, nehmen, nehmen" willst. Kein einziger erkennbarer Lernfortschritt in der ganzen Zeit, kein einziger helfender Beitrag deinerseits zu Problemen der anderen. Der Rest scheint dir wirklich Sch...egal zu sein.

Ehrlich gesagt regst du mich inzwischen so auf, dass es ohne eine harte "Ignorierfunktion" wirklich schwer ist, Code-Schmarotzer wie dich links liegen zu lassen!

s-off 13. Sep 2007 16:23

Re: Ein Wort in WebBrowser ändern : webbrowser1.items(6):= '
 
[OT(obwohl das hier wohl egal ist)]
Zitat:

Zitat von Nuclear-Ping
Ehrlich gesagt regst du mich inzwischen so auf, dass es ohne eine harte "Ignorierfunktion" wirklich schwer ist, Code-Schmarotzer wie dich links liegen zu lassen!

Hatte ich ja vor einigen Tagen schonmal angeregt :warn:
[/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 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