Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.04.2013, 13:53
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
Вопрос Свойство картинки <img> через webbrowser

как узнать свойсва картинки(интересует ее размер в байтах) по средствам webbrowser'a?
Код картинки:
Код HTML:
<img src="/items/phone/samara_remont_i_stroitelstvo_natyazhnye_potolki_deluxe_v_samare_i_oblasti_55744174?pkey=93a407c0033052152a5588a9feaa01be"/>
Ответить с цитированием
  #2  
Старый 25.04.2013, 14:22
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
IHTMLImgElement:
    property isMap: WordBool dispid 2002;
    property useMap: WideString dispid 2008;
    property mimeType: WideString readonly dispid 2010;
    property fileSize: WideString readonly dispid 2011;
    property fileCreatedDate: WideString readonly dispid 2012;
    property fileModifiedDate: WideString readonly dispid 2013;
    property fileUpdatedDate: WideString readonly dispid 2014;
    property protocol: WideString readonly dispid 2015;
    property href: WideString readonly dispid 2016;
    property nameProp: WideString readonly dispid 2017;
    property border: OleVariant dispid 1004;
    property vspace: Integer dispid 1005;
    property hspace: Integer dispid 1006;
    property alt: WideString dispid 1002;
    property src: WideString dispid 1003;
    property lowsrc: WideString dispid 1007;
    property vrml: WideString dispid 1008;
    property dynsrc: WideString dispid 1009;
    property readyState: WideString readonly dispid -2147412996;
    property complete: WordBool readonly dispid 1010;
    property loop: OleVariant dispid 1011;
    property align: WideString dispid -2147418039;
    property onload: OleVariant dispid -2147412080;
    property onerror: OleVariant dispid -2147412083;
    property onabort: OleVariant dispid -2147412084;
    property name: WideString dispid -2147418112;
    property width: Integer dispid -2147418107;
    property height: Integer dispid -2147418106;
    property Start: WideString dispid 1013;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 25.04.2013, 14:40
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Делаю так:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
  doc: IHTMLDocument2;
  i: Integer;
  s:string;
begin
s:='%'+'/items/phone/'+'%';
try
  doc:=WebBrowser1.Document as IHTMLDocument2;
  for i:=0 to doc.all.length-1 do
  begin
      if (doc.all.item(i, 0) as IHTMLIMGElement).src=s then
       //edit1.Text:=(doc.all.item(i, 0) as IHTMLIMGElement).fileSize;
         showmessage('1');
  end;
except

end;
end;
Но пишет ошибку: Interface not supported.
Ответить с цитированием
  #4  
Старый 25.04.2013, 14:49
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

не любой элемент может вернуть интерфейс IHTMLImgElement. делай проверку.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 25.04.2013, 15:00
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Ф-я Supports(...) подробности в справке.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 25.04.2013, 15:23
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

или сразу так:
Код:
var
  doc: IHTMLDocument2;
  i: Integer;
  img: IHTMLImgElement;
begin
  doc:=WebBrowser1.Document as IHTMLDocument2;
  for i:=0 to doc.all.length-1 do
    if doc.all.item(i, 0).QueryInterface(IID_IHTMLImgElement, img)=S_OK then
      ShowMessage(IntToStr(img.width));
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 25.04.2013, 15:30
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
или сразу так:
Код:
var
  doc: IHTMLDocument2;
  i: Integer;
  img: IHTMLImgElement;
begin
  doc:=WebBrowser1.Document as IHTMLDocument2;
  for i:=0 to doc.all.length-1 do
    if doc.all.item(i, 0).QueryInterface(IID_IHTMLImgElement, img)=S_OK then
      ShowMessage(IntToStr(img.width));
end;
S_OK это что?
Ответить с цитированием
  #8  
Старый 25.04.2013, 15:32
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Константа.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #9  
Старый 25.04.2013, 15:51
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Константа.
Код:
s:='%'+'/items/phone/'+'%';
??
Ответить с цитированием
  #10  
Старый 25.04.2013, 16:07
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button4Click(Sender: TObject);
var
  doc: IHTMLDocument2;
  i: Integer;
  img: IHTMLImgElement;
begin
  doc:=WebBrowser1.Document as IHTMLDocument2;
  for i:=0 to doc.all.length-1 do
    if doc.all.item(i, 0).QueryInterface(IID_IHTMLImgElement, img)=S_OK then
    if img.width=121 then
      ShowMessage(img.src);
end;
Все хорошо, src показывает правельный. Но если:
Код:
ShowMessage(img.fileSize);
То он показывает "-1". В чем-то ошибка у меня?
Ответить с цитированием
  #11  
Старый 25.04.2013, 16:22
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

смотри где что не так написал. у меня на:
Код HTML:
<img src="http://www.delphisources.ru/forum/images/misc/logo_ds_forum.gif"></img>
показывает 13404
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #12  
Старый 25.04.2013, 19:58
cyborgg4655 cyborgg4655 вне форума
Начинающий
 
Регистрация: 16.03.2013
Сообщения: 151
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
смотри где что не так написал. у меня на:
Код HTML:
<img src="http://www.delphisources.ru/forum/images/misc/logo_ds_forum.gif"></img>
показывает 13404
попробуй сам на авито, в любое объявление зайди, потом нажми показать номер. и програмно определи размер картинки где номер написан
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:24.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025