Capturando LINKS
Estou criando um navegador com feramentas diversas, não estava encontrando problemas ate querer inserir uma opção de captura de links, por incrivel que pareça estou terminando a 8ª linha e não consegui fazer com que os malditos links sejam capturados corretamente... se puderem me ajudar, pois eu coloco o delphi a buscar desde href pois não consigo fazer com que o delphi saiba parar no fim do link sem ter que criar um mostro de codigo... pois acabo colocando o delphi para contar a direita os até achar ´<´ (o fim do link)... tem uma forma mais rapida para isso???
Dan_rs
Curtidas 0
Respostas
Cebikyn
30/08/2003
Se vc estiver usando o [i:61823576ef]TWebBrowser[/i:61823576ef], você pode usar o as propriedades dele. Veja o seguinte código:
Os códigos a cima colocam os links em um [i:61823576ef]TListBox[/i:61823576ef]. O primeiro é para páginas sem [i:61823576ef]frames[/i:61823576ef], e o segundo é para páginas com [i:61823576ef]frames[/i:61823576ef]. Qualquer dúvida entre em contato.
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i:=0 to WebBrowser1.OleObject.Document.links.Length - 1 do
Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i));
end;
{*****************}
procedure TForm1.Button2Click(Sender: TObject);
var
u : variant;
v : IDispatch;
s : string;
procedure RecurseLinks(htmlDoc: variant);
var
BodyElement : variant;
ElementCo: variant;
HTMLFrames: variant;
HTMLWnd : variant;
j, i : integer;
begin
if VarIsEmpty(htmlDoc) then
exit;
BodyElement := htmlDoc.body;
if BodyElement.tagName = ´BODY´ then
begin
ElementCo := htmlDoc.links;
j := ElementCo.Length - 1;
for i := 0 to j do
begin
u := ElementCo.item(i);
s := u.href;
listLinks.Items.Add(s);
end;
end;
HTMLFrames := htmlDoc.Frames;
j := HTMLFrames.length - 1;
for i := 0 to j do
begin
HTMLWnd := HTMLFrames.Item(i);
RecurseLinks(HTMLWnd.Document);
end;
end; // RecurseLinks
begin
v := WebBrowser1.document;
listLinks.Clear;
RecurseLinks(v);
end;Os códigos a cima colocam os links em um [i:61823576ef]TListBox[/i:61823576ef]. O primeiro é para páginas sem [i:61823576ef]frames[/i:61823576ef], e o segundo é para páginas com [i:61823576ef]frames[/i:61823576ef]. Qualquer dúvida entre em contato.
GOSTEI 0