PDA

Просмотр полной версии : [Delphi]Помогите проанализировать код


marcos
09.11.2009, 16:20
Всем привет попогите проанализировать код. Пытался сам-не получилось :mad: Я его испытал-он выводит одни и те жи мыльники (через каждые 20).
Что нужно изменить, чтобы мыльников была куча и чтобы они были все разные?


unit Unit1;

interface

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

type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
Memo1: TMemo;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
Function After ( Src:string ; Var S:string ) : string ;

Var

F : Word ;

begin

F := POS (Src,S) ;

if F=0 then

After := ''

else

After := COPY(S,F+length(src),length(s)) ;

end ;
procedure TForm1.FormCreate(Sender: TObject);
var

Flags: OLEVariant;
x:word;

s,temp,n: string;
begin

Flags := 0;

WebBrowser1.Navigate(WideString('http://my.mail.ru'),Flags,Flags,Flags,Flags);
end;

procedure TForm1.Button1Click(Sender: TObject);
var

x:word;

s,temp,n: string;

Flags: OLEVariant;

begin

for x:=0 to WebBrowser1.OleObject.Document.Links.Length-1 do

begin

temp:=WebBrowser1.OleObject.Document.Links.Item(x) ;

s:=After('http://www.mail.ru/agent?message&to=',temp);

if s <>'' then memo1.lines.Add(s);

if x>46 then

begin

if After('http://my.mail.ru/my/classmates',temp)<>'' then n:=temp;

if After('http://my.mail.ru/my/search',temp)<>'' then n:=temp;

if After('http://my.mail.ru/my/neighbour',temp)<>'' then n:=temp;

if After('http://my.mail.ru/my/military_search',temp)<>'' then n:=temp;

end;

end;

Flags := 0;

WebBrowser1.Navigate(WideString(n),Flags,Flags,Fla gs,Flags);

end;

end.


Буду признателен за помощь!

0rs
09.11.2009, 17:29
Если на странице ссылок будет меньше 46 то будет одна и та же страница загружаться.
Посмотри чему равен n в отладчике.
И скорее всего нужен не текст ссылки а сама ссылка WebBrowser.OleObject.Document.Links.Item(x).href

marcos
09.11.2009, 19:15
А можно сделать например чтобы:
Открываешь ссылку друзья друзей, и он всех этих друзей друзей перебирает? И если да то как?