![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте! Очень нужна ваша помощь. У меня есть адрес сайта
http://www.plavsk.tulobl.ru/administ...rk/norm/texts/ Мне в форме delphi нужно получить все гиперссылки с этого сайта (чтоб они остались рабочими). P.S. Пришла в голову мысль получить все теги со страницы. Вывела их в memo, а что с ними делать дальше не знаю. Подскажите кто знает. пожалуйста!!! |
|
#2
|
||||
|
||||
|
Цитата:
|
|
#3
|
|||
|
|||
|
Да, так тоже пробовала. Вывела всю страницу в TWebBrowser, а как оттуда получить гиперссылки?
|
|
#4
|
||||
|
||||
|
Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
col: IHTMLElementCollection;
i: Integer;
begin
col:=(WebBrowser1.Document as IHTMLDocument2).all.tags('A') as IHTMLElementCollection;
for i := 0 to col.length-1 do
begin
Memo1.Lines.Add((col.item(i, EmptyParam) as IHTMLAnchorElement).href);
end;
end; |
|
#5
|
||||
|
||||
|
Цитата:
|
|
#6
|
|||
|
|||
|
классно! Спасибо! А не подскажите какой компонент использовать, чтоб все эти гиперссылки можно было использовать (нажимать и переходить по ним)?
|
|
#7
|
||||
|
||||
|
Цитата:
|
|
#8
|
|||
|
|||
|
т.е. просто из memo обратно перекинуть в TWebBrowser?
|
|
#9
|
||||
|
||||
|
Цитата:
|
|
#10
|
|||
|
|||
|
А не подскажите как это сделать - не очень понятно. Вот то, что у меня получилось... (архив)
|
|
#11
|
||||
|
||||
|
Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
col: IHTMLElementCollection;
elem: IHTMLElement;
i: Integer;
sl: TStringList;
s1, s2: String;
ms: TMemoryStream;
begin
col:=(WebBrowser1.Document as IHTMLDocument2).all.tags('A') as IHTMLElementCollection;
sl:=TStringList.Create;
try
sl.Add('<HTML><BODY>');
for i := 0 to col.length-1 do
begin
elem:=col.item(i, EmptyParam) as IHTMLElement;
s1:=Trim(elem.innerText);
s2:=(elem as IHTMLAnchorElement).href;
sl.Add('<A HREF="'+s2+'">'+s1+'</A><BR>');
end;
sl.Add('</BODY></HTML>');
ms:=TMemoryStream.Create;
try
sl.SaveToStream(ms);
ms.Position:=0;
(WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));
finally
ms.Free;
end;
finally
sl.Free;
end;
end;p.s. Архив ещё не смотрел. |
|
#12
|
|||
|
|||
|
Огромное Вам спасибо!!!! Работает!!! Остальное попробую сама доделать!!!
|