Einzelnen Beitrag anzeigen

Maxisoft2

Registriert seit: 8. Nov 2007
20 Beiträge
 
#4

Re: Gewisse Zeile mit bestimmtem Wort aus Memo (html) ausles

  Alt 2. Feb 2008, 21:24
Hallo nochmal!

Ich scheine irgendwie zu blöd dafür zu sein, das Script zum Laufen zu bringen.
Mir fehlt für addtolist wohl irgend eine Typendeklaration, aber ich komme nicht
drauf, wie ich AddToList deklarieren soll und ob überhaupt !?

So schaut mein Quelltext momentan aus:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw;

type

  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    Memo2: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
   private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
   TOnExtractLink = procedure(const URL:string) of object;
// Extract all Links from Document
procedure ExtractDocumentLinks(Document: IDispatch; callback:TOnExtractLink);
// Extract all Links from Browser's Document
procedure ExtractWBLinks(WebBrowser: TWebBrowser; callback:TOnExtractLink);


var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure ExtractDocumentLinks(Document: IDispatch; callback:TOnExtractLink);
var
   doc, links, link : OleVariant;
   i : Integer;
begin
   doc := Document;

   links := doc.links;

   for i:=0 to links.Length-1 do
   begin
      link := links.item(i);
      callback(link.HREF);
   end;
end;

procedure ExtractWBLinks(WebBrowser: TWebBrowser; callback:TOnExtractLink);
begin
   if not Assigned(WebBrowser.Document) then
      Exit;
   ExtractDocumentLinks(WebBrowser.Document, callback);
end;

procedure TForm1.AddToList(const URL:string);
begin
  // hier wäre Gelegenheit, unerwünschte oder doppelte URL auszufiltern
 
  if copy(URL, 1, 5) = 'http:then
     Memo1.Lines.Add(URL) // hier alle http: URL rein
  else
     Memo2.Lines.Add(URL); // und hier den Rest (ftp:, mailto: ,...)
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.webseite.de');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ExtractWBLinks(WebBrowser1, AddToList);
end;

end.
Einzigste Fehlermeldung die ich bekomme ist: "Undefinierter Bezeichner: 'AddToList'",
was ja nun auch logisch ist, da ich es ja nicht deklariert habe, oder habe ich irgend
etwas anderes falsch verstanden?

(Tut mir leid, bin noch am Lernen . Und habe nun echt lange versucht es selbst zu lösen,
aber komme einfach nicht drauf *verzweifel*)

Grüße,
- M. S.
  Mit Zitat antworten Zitat