![]() |
InnerText aus TWebBrowser in Listbox
hallo freaks ;-)
ich habe ein kleines Problem. Ich möchte aus einer HTML- Datei den innerText auslesen und in eine Listbox schreiben. Dabei muss jeder gefundene innerText in eine eigene Zeile der Lisbox geschrieben werden. Um den innerText in eine Memo zuschreiben, verwende ich folgenden Code.
Delphi-Quellcode:
Leider blick ich bei diesem Code (-->
procedure TForm1.Button1Click(Sender: TObject);
var IDoc: IHTMLDocument2; Strl: TStringList; sHTMLFile: string; v: Variant; Links: IHTMLElementCollection; i: Integer; Link: IHTMLAnchorElement; begin if OpenDialog1.Execute then begin sHTMLFile := OpenDialog1.FileName; Strl := TStringList.Create; try Strl.LoadFromFile(sHTMLFile); Idoc := CreateComObject(Class_HTMLDOcument) as IHTMLDocument2; try IDoc.designMode := 'on'; while IDoc.readyState <> 'complete' do Application.ProcessMessages; v := VarArrayCreate([0, 0], VarVariant); v[0] := Strl.Text; IDoc.Write(PSafeArray(System.TVarData(v).VArray)); IDoc.designMode := 'off'; while IDoc.readyState <> 'complete' do Application.ProcessMessages; Memo1.Lines.Text := IDoc.body.innerText; finally IDoc := nil; end; finally Strl.Free; end; end; end; ![]() Vielen Dank im voraus mfg fleTCHeR |
Re: InnerText aus TWebBrowser in Listbox
i dont like push, sorry. aber hat niemand eine Idee wie man das lösen könnte.
grüße fLeTCHeR |
Re: InnerText aus TWebBrowser in Listbox
Hallo Fletcher,
wenn ich den gezeigten Code ignoriere und nur den Titel deines Themas berücksichtige, dann suchst du das hier:
Delphi-Quellcode:
Ansonsten musst du dein Problem etwas genauer erklären.
with WebBrowser.Document as IHTMLDocument2 do
ListBox.Lines.Add(body.innerText); Grüße vom marabu |
Re: InnerText aus TWebBrowser in Listbox
Delphi-Quellcode:
Tippfehler ;-)
with WebBrowser.Document as IHTMLDocument2 do
ListBox.[b]Items[/b].Add(body.innerText); Soweit war ich auch schon. Das Problem ist aber, dass der dann den gesamten InnerText in eine Zeile schreibt. Ich hätte es gerne, das jeder gefundene InnerText in eine eigene Zeile geschrieben wird. Gibt es eine Möglichkeit das HTML Doc Zeilenweise zu durchlaufen? So das ich jede Zeile einzeln betrachten kann? Um was es mir geht: Ich will in einem nicht manipulierbaren HTML Document nach Eingaben, die in einer Tabelle geschrieben stehen, suchen. Viele Grüße fLeTCHeR |
Re: InnerText aus TWebBrowser in Listbox
Mir scheint, du willst jedes Element des Dokuments einzeln betrachten.
Wenn du das willst, dann sieh dir mal die Methoden von IHTMLDomNode an. Mit diesen kannst du durch den Baum itterieren und dir einzelne Knoten-Inhalte suchen. In der Regel kann man dann ein IHTMLDomNode als IHTMLElement casten um an den InnerText zu kommen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 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