Twebbrowser Как получить ссылки на которые ведут картинки?

  • Автор темы darkcoder
  • Дата начала
D

darkcoder

#1
Как получить ссылки на которые ведут картинки?
<a href="нужно узнать что тут для данной картинки"><img src=""></a>
Код приведенные ниже пытался модифицировать, не вышло.

for i := 0 to EmbeddedWB1.OleObject.Document.Images.Length - 1 do
begin
Document := Embeddedwb1.Document as IHtmlDocument2;
// Retrieves the calculated width of the image.
ImageWidth := Embeddedwb1.OleObject.Document.Images.Item(i).Width;
// Retrieves the height of the image.
ImageHeight := Embeddedwb1.OleObject.Document.Images.Item(i).Height;
// Retrieves the file size of the image.
ImageFileSize := (Document.Images.Item(i, 0) as IHTMLImgElement).FileSize;
// Retrieves the entire URL that the browser uses to locate the image
ImageHref := (Document.Images.Item(i, 0) as IHTMLImgElement).Href;
// Retrieves a text alternative to the graphic.
ImageTextAlternative := (Document.Images.Item(i, 0) as IHTMLImgElement).alt;
// Show image information in a TListbox
ListBox1.Items.Add(Format('%s : %d x %d Pixels; %s Bytes; %s',
[ImageHref, ImageWidth, ImageHeight, ImageFileSize, ImageTextAlternative]));
end;
 
F

Froex

#2
Бери исходный код и используй функцию Pos(param1, param2) и Copy(param3, param4, param5)
Pos возвращает целое число, указывающее положение строки param1 в строке param2
Copy возвращает строку (или массив символов), созданную из последовательности символов из строки param3, начиная с символа param4 и длиною param5
1. Сохрани исходный текст страницы в, скажем, переменную str
2. Ищи позицию в исходном коде строки: nPos:=Pos('<a href="',str);
3. Удаляем все до этой строки (можно заносить и в другую переменную): str:=Copy(str, nPos, length(str) - nPos); //начиная с nPos символа (по счету) и длиною до конца строки (как раз длина остатка находится с помощью (length(str)-nPos) )
4. Ищем конец ссылки: nPos:=Pos('"', str);
5. И копируем все до этой позиции, минус один символ (чтобы этот символ не затронуть): str:=Copy(str, 1, nPos - 1);
 
D

darkcoder

#3
нет
мне нужно выдрать из COM обьекта или как это называется точно?
регекспы а тем более скопировать-отрезать-склеить не подходит к сожалению
 
D

darkcoder

#5
ваш код заткнется на
<A href="
<A class href="
< a onmouseover='чето там' HREF
продолжать можно бесконечно

я тоже не знаком, а сегодня надо это сделать
 
D

darkcoder

#6
вот! про дочерние наверно правильно
спасибо
а можно код если вам не сложно хотя бы примерный.. а то я с этим первый раз сталкиваюсь.
 
D

darkcoder

#7
Он такой же как и обычный webbrowser
все от webbrowser'а подходит
 
D

darkcoder

#8
sax_ol кроме огромного спасибо сказать нечего.