![]() |
Re: Website durchsuchen
Hallo,
mit der Indy HTTP-Client-Komponente kannst du dir eine Datei per HTTP vom Server holen. Dann brauchst du einen Parser, der dir den komfortablen Zugriff auf ein HTML-Dokument gestattet und da bietet sich MSHTML an, weil es auf jedem PC vorhanden ist. Wenn du jetzt den per HTTP geholten Seitenquelltext z.B. mit der Funktion ![]() Freundliche Grüße |
Re: Website durchsuchen
Zitat:
|
Re: Website durchsuchen
Zitat:
|
Re: Website durchsuchen
Hast Du die den Link zu GetDocument angeschaut, dort ist sie zu finden.
Grüße Klaus |
Re: Website durchsuchen
Hallo,
damit du auf CoHtmlDocument und die anderen verwendeten Schnittstellen zugreifen kannst, musst du noch Mshtml in deine Uses-Klausel einbinden. @Catbytes: Gibt es einen funktionierenden Windows-PC ohne Mshtml.dll? Der Explorer ist abhängig von Shdocvw.dll und diese Bibliothek baut auf Mshtml.dll auf. Weißt du das nicht oder willst du mir nur eine Lektion in Sophistik erteilen? Freundliche Grüße |
Re: Website durchsuchen
das hab ich gemacht jedoch meldet delphi bei GetDocument() undeclared identifier! hier mein code
Delphi-Quellcode:
....
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Mshtml, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP; type TForm1 = class(TForm) IdHTTP1: TIdHTTP; Button1: TButton; EdURL: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure ExtractLinks(doc: IHTMLDocument2; s: TStrings; SearchString: String); var ec: IHTMLElementCollection; e: IHTMLElement; i: integer; url: Variant; begin ec := doc.links; for i := 0 to Pred(ec.length) do begin e := ec.item(i, 0) as IHTMLElement; url := VarToStr(e.getAttribute(SearchString, 0)); if url <> '' then s.Add(url); end; end; procedure TForm1.Button1Click(Sender: TObject); var docd: IDispatch; doc: IHTMLDOCUMENT2; url: String; begin url := EdUrl.Text; docd := GetDocument(IdHttp1.Get(url)); end; |
Re: Website durchsuchen
Delphi-Quellcode:
und war
function GetDocument(const markup: WideString): IDispatch;
var doc: OleVariant; begin Result := CoHtmlDocument.Create; doc := Result; doc.Open; doc.Write(markup); doc.Close; end; ![]() Und diesen Hinweis hat marabu noch dazu geschrieben: Zitat:
Klaus |
Re: Website durchsuchen
ich hab sie eingebunden aber es kommt immer noch eine fehlermeldung: Undeclared identifier
hier mein code:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,Mshtml; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin GetDocument('xyz'); end; end. |
Re: Website durchsuchen
Kommt die Fahlermeldung so auch immer noch ?
Grüße Klaus
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ActiveX, Mshtml; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function GetDocument(const markup: WideString): IDispatch; var doc: OleVariant; begin Result := CoHtmlDocument.Create; doc := Result; doc.Open; doc.Write(markup); doc.Close; end; procedure TForm1.FormCreate(Sender: TObject); begin GetDocument('xyz'); end; end. |
Re: Website durchsuchen
@klaus es kommt keine meldung mehr!! mein fehler war auf die 2. seite dieses threads zu wechseln :wall: :wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 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