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

Тема в разделе "Delphi - Компоненты", создана пользователем darkcoder, 6 мар 2008.

  1. darkcoder

    darkcoder Гость

    Как получить ссылки на которые ведут картинки?
    <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;
     
  2. Froex

    Froex Гость

    Бери исходный код и используй функцию 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);
     
  3. darkcoder

    darkcoder Гость

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

    Froex Гость

    К сожалению, с COM я не шибко знаком
     
  5. darkcoder

    darkcoder Гость

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

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

    darkcoder Гость

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

    darkcoder Гость

    Он такой же как и обычный webbrowser
    все от webbrowser'а подходит
     
  8. darkcoder

    darkcoder Гость

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

Поделиться этой страницей