Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   WebBrowser Quelltext mit ner Label anzeigen? (https://www.delphipraxis.net/173608-webbrowser-quelltext-mit-ner-label-anzeigen.html)

napstar 6. Mär 2013 21:12

WebBrowser Quelltext mit ner Label anzeigen?
 
hey.. wieder ich :)
ich versuche schon seit ner stunde rum.. und es will einfach nicht funktionieren.. die seite auf die zugegriffen wird ist meine.. und der quelltext besteht nur aus einer zeile.. besser gesagt einer zahl..
mein versucht.. allerdings läst sich das ganze nicht kompilieren.. :(
habt ihr eine idee?

Code:
procedure TForm1.FormCreate(Sender: TObject);
var i:TStringList;
    s:string;
begin
  i:=TStringList.Create;
  WebBrowser1.Navigate('xyxyxyxyxy.net/1.txt');
  s:=WebBrowser1.OleObject.Document.Body.InnerHtml;
  i.Add(s);
  Label1.Caption:=i[1];
  i.free;
end;

Aviator 6. Mär 2013 21:22

AW: WebBrowser Quelltext mit ner Label anzeigen?
 
Ohne es jetzt groß nachzuprüfen (da ich noch nie mit dem Webbrowser gearbeitet habe) aber würdest du nicht sowieso einen Listenindexfehler bekommen?

Du frägst das zweite Element der StringList ab. Ich gehe aber mal davon aus, dass in der StringList aber nur ein Element ist. Elemente werden aber nullbasierend abgefragt.

Also:

Delphi-Quellcode:
Label1.Caption:=i[0];

napstar 6. Mär 2013 21:39

AW: WebBrowser Quelltext mit ner Label anzeigen?
 
daran lag es nicht.. also der compiler schlägt hier schon alarm.. aber thx habs ergänzt

Code:
  s:=WebBrowser1.OleObject.Document.Body.InnerHtml;

Volker Z. 6. Mär 2013 21:41

AW: WebBrowser Quelltext mit ner Label anzeigen?
 
Hallo,

Zitat:

allerdings läst sich das ganze nicht kompilieren
Kompilieren lässt sich das ganz sicher. Es wird Dir aber eine Access Violation Exception geworfen.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i:TStringList;
    s:string;
begin
  i:=TStringList.Create;
  WebBrowser1.Navigate('xyxyxyxyxy.net/1.txt');
  s:=WebBrowser1.OleObject.Document.Body.InnerHtml; // <-- hier kracht es, da noch kein Document existiert
  i.Add(s);
  Label1.Caption:=i[1];
  i.free;
end;
Du musst schon warten, bis das Dokument geladen ist (schau Dir in der OH noch TWebBrowser.OnDocumentComplete an). Folgendes sollte funktionieren
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
  WebBrowser1.Navigate('xyxyxyxyxy.net/1.txt');
end;

procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
  Label1.Caption := WebBrowser1.OleObject.Document.Body.InnerHtml
end;
Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz