Entwickler-Ecke

Internet / Netzwerk - HTML in Memo


Kaspall - Fr 23.04.10 15:33
Titel: HTML in Memo
Hallo liebe Leute, folgendes:

Ist es möglich mit dem Twebbrowser oder so irgendwie die HTML einer website direkt in eine TstringList oder eine Memo zu laden. Bisher hab ich das so gelöst das einfach die website im webbrowser geladen wurde und bei document.complete gleich die HTML in ein Memo geschupft wurde.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
     var   htm : variant;
begin
htm := WebBrowser1.Document;
  if Webbrowser1.LocationURL <> '' then
    memo1.Text := htm.Body.OuterHTML
  else
    ShowMessage('Problems with internet connection');

Das funktioniert auch einwandfrei, nur wird extremst viel Ressource geschluckt weil der webbrowser die page natürlich aufbaut, die Bilder lädt, ect. Und da ich eh nur die HTML als reinen Text benötige ist der webbrowser ansich einfach überflüssig. geht das nicht irgendwie....DIREKTER? Ohne webbrowser?

Danke schon Mal für eventuelle Antworten

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Gausi - Fr 23.04.10 15:41

Für sowas nehme ich meistens die Indy-HTTP-Komponente. Die hat die Methode Get, die die URL in einen String lädt. Wenn du diesen String in die Eigenschaft Text der Stringlist packst, klappt das auch mit den Zeilenumbrüchen. ;-)


Webo - Fr 23.04.10 16:00

Wenn ich mich jetzt nicht grade ganz vertue würde es auch ohne Indy gehen. Hier [http://www.delphi-treff.de/tipps/netzwerkinternet/wiki/Dateien%20%C3%BCber%20das%20HTTP-Protokoll%20herunterladen/] (Unterer Bereich mit URLMon). So müsste man genau so gut daran kommen.
Bin mir aber im Moment nicht mehr sicher, ob es letzendlich das gleiche Resultat liefert - müsstest du mal testen (Habe grade nur Lazarus zur Verfügung und der kennt URLMon nicht).