Entwickler-Ecke

Internet / Netzwerk - Welche IndyKomponente um Html von Internet in RichEdit?


Leuchtturm - Do 22.06.06 14:32
Titel: Welche IndyKomponente um Html von Internet in RichEdit?
Hi,
weiß jemand von euch welche Indykomponente ich nehmen muss um den Text einer Website(html oder php) in einem RichEdit anzuzeigen.
Vielen Dank im Voraus.
Leuchtturm


alias5000 - Do 22.06.06 14:45

Mit idHTTP kannst du den Text runterladen


Leuchtturm - Do 22.06.06 14:49

Danke


Leuchtturm - Do 22.06.06 14:56

Hat noch jemand ein umfangreicheres Tutorial als das bei dsdt für die idHttp-Komponente????


matze - Do 22.06.06 14:58

so viel gibts doch da gar nicht zu wissen. was willst du denn genau wissen ?


Leuchtturm - Do 22.06.06 15:05

Das hier habe ich bei dsdt gefunden:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
var responseStream: TFileStream;
begin
  responseStream := TFileStream.Create(fmCreate);
  IdHTTP1.Get('http://de.wikipedia.org/wiki/Hallo', responseStream);
  responseStream.free;
end;

wenn ich aber auf den Button klicke kommt eine Fehlermeldung:
Zitat:
Fehler bei Bereichsprüfung

Was ist da falsch?
Leuchtturm


Leuchtturm - Do 22.06.06 15:23

Wenn ich das so mache:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Button1Click(Sender: TObject);
var responseStream: TFileStream;
begin
  IdHTTP1.Get('http://de.wikipedia.org/wiki/Hallo');
  responseStream.free;
end;

dann startet das Programm, ich kann auf den Button klicken, meine Firewall fragt mich um Erlaubnis ob dass das Programm ins Internet darf, und dann verschwindet der Button und kommt nicht mehr wieder

Wenn ich eine HTML-Datei(aus dem Internet), die in das RichEdit passt, lade kommt immer:
Zitat:
HTTP/1.1 404 Not Found

Wo ist jetzt mein Fehler :?: :?:


matze - Do 22.06.06 15:25

du solltest auch einen Pfad angeben, unter dem die Datei gepeichert werden soll.

Delphi-Quelltext
1:
2:
3:
4:
5:
var responseStream: TFileStream;
begin
  responseStream := TFileStream.Create('c:\text.txt',fmCreate);
  IdHTTP1.Get('http://de.wikipedia.org/wiki/Hallo', responseStream);
  responseStream.free;

An den HTML Quelltext kommst du aber auch leicher:

Delphi-Quelltext
1:
memo1.text := IdHTTP1.Get('http://de.wikipedia.org/wiki/Hallo');                    


Leuchtturm - Do 22.06.06 15:37

Danke es funzt so.
Aber ich glaube ich habe mich undeutlich ausgedrückt ich will nicht den Quelltext sondern das im Screenshot rot markierte in dem RichEdit anzeigen lassen.
Trotzdem Danke


JayEff - Do 22.06.06 15:39

Und vergiss nicht HandleRedirects auf True zu setzen (was deinen 404er betrifft.)


Leuchtturm - Do 22.06.06 15:44

Danke,
aber den 404er hab ich auch so hinbekommen,
weißt du wie man das hinbekommt das man das Stück der Seite die im Screeshot rot markiert ist in das RichEdit bekommt :?:


JayEff - Do 22.06.06 15:50

Nun du wirst wohl dir den Quelltext ansehen müssen, und schauen, ob du regelmäßigkeiten in Wikipedia findest, nach denen du per pos&copy den Text bekommen kannst. Um den HTML Quelltext wirst du wohl nicht rum kommen, das heist du musst den Text manuell parsen oder eben einen Parser verwenden. (z.B. TWebBrowser)


Leuchtturm - Do 22.06.06 15:56

geht auch der JvHTMLParser